自本周初以来,我一直在尝试完成这项工作,但无法弄清楚。我的 HTML 文件中有两个元素。它们在同一条垂直通道上,每单击一次按钮,element1 就会向左水平移动 60ems。我必须比较这两个元素的位置,并用 if/else 语句检测 element1 是否已通过 element2。当它通过时,我想将 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>