今週の初めからこれを機能させようとしてきましたが、わかりませんでした。HTML ファイルには 2 つの要素があります。これらは同じ垂直方向のレーンにあり、要素 1 はボタンをクリックするたびに左に 60em 水平方向に移動しています。これら 2 つの要素の位置を比較し、要素 1 が要素 2 を通過したかどうかを if/else ステートメントで検出する必要があります。それが通過したら、 element1 を初期位置に移動して最初からやり直したいと思います。しかし、if ステートメントが発砲しない場合は、常に else ステートメントにジャンプします。
次のプロパティを比較してみました。
$('#elemet1').position();
$('#elemet1').position().left;
$('#elemet1').offset();
$('#elemet1').offsetLeft;
$('#elemet1').css("position");
$('#elemet1').css("left");
$('#elemet1').css("margin");
$('#elemet1').left;
以下のような位置を比較しようとしました:
$(function () {
$("button").click(function () {
var position1 = $('#element1').css("left");
var position2 = $('#element2').css("left");
if (position1 <= position2) {
$("#element1").animate({left:'+=240em'}, 600);
}
else {
$("#element1").animate({left:'-=60em'}, 600);
}
});
});
あなたが私に答えを与えるか、別の投稿に私を導くことができれば、私はそれを感謝します. 前もって感謝します。
編集:私が使用するスタイルは以下のとおりです。
.element2 {
position: relative;
width: 60em;
height: 40em;
bottom: 8em;
background: rgba(242, 210, 139, 0.6);
border-radius: 1.2em;
z-index: 1;
overflow: hidden;
#element1 {
position: absolute;
margin-left: 180em;
width: 60em;
height: 40em;
z-index: 1;
}
そして、最初にこれを言及する必要がありました: element1 は element2 の中にあります:
<div class="element2">
<img id="element1" src="image/bg1.png" />
</div>