function fly() {
$(".heli").animate({
top: '-=50px',
left: '+=25px'
}, 1000);
var x = $(".heli").offset().left;
if (x == 500) {
alert("match found");
}
}
$(document).mousedown(function () {
var Interval = setInterval(fly, 800);
})
在上面的例子中,为什么“fly()”的“if子句”没有给出任何结果?
答案 0 :(得分:1)
此问题可能是因为您正在进行动画测试(x == 500)
,因此它不会增加预期的数量。
尝试将测试放入回调函数中:
function fly() {
$(".heli").animate({
top: '-=50px',
left: '+=25px'
}, 1000, function(){
var x = $(".heli").offset().left;
if (x == 500) {
alert("match found");
}
});
}
答案 1 :(得分:0)
除了需要能够等于500的增量和初始位置(如果你能承受差异,可以测试X> = 500),
您还必须确保“.heli”元素定位为“绝对”或“固定”。无论您要求多少次,“相对”定位元素都不会改变位置。