我有一个功能,可以在点击时从一个页面的右侧移动一个框。当div开始退出窗口并因此根据我的功能具有负位置时,我想发起一个事件。然而,当div通过屏幕左侧的边缘时,我得不到任何响应。有人有主意吗?
我知道位置($('#container').position().left/$(document).width())*100)
已定义,如果我在初次加载页面时将< 0更改为> 0,则会触发警报。
<script>
$("#play").live('click', function() {
$("#container").animate({"left": "-=100%"}, 25000);
});
if (($('#container').position().left/$(document).width())*100<0){
alert('test');
}
</script>
答案 0 :(得分:3)
您可以使用step
选项animate
:
step
:在动画的每个步骤后调用的函数。
这样的事情:
$("#container").animate({"left": "-=100%"}, {
duration: 25000,
step: function() {
if(($('#container').position().left / $(document).width())*100 < 0) {
alert('test');
}
}
});
只要你的位置测试成立,那就会给你alert
。当然,#container
离开屏幕后,动画可能继续进行。