Jquery 当div到达位置时执行

Jquery 当div到达位置时执行,jquery,Jquery,我有一个函数,可以在单击时从页面的右向左移动一个框。当div开始退出窗口,因此根据我的功能有一个负面位置时,我想触发一个事件。然而,当div经过屏幕左侧边缘时,我没有得到响应。有人有什么想法吗 我知道已定义位置($(“#容器”).position().left/$(document).width())*100),如果我在最初加载页面时更改了0,则会触发警报 <script> $("#play").live('click', function() { $("#container")

我有一个函数,可以在单击时从页面的右向左移动一个框。当div开始退出窗口,因此根据我的功能有一个负面位置时,我想触发一个事件。然而,当div经过屏幕左侧边缘时,我没有得到响应。有人有什么想法吗

我知道已定义位置
($(“#容器”).position().left/$(document).width())*100)
,如果我在最初加载页面时更改了0,则会触发警报

<script>
$("#play").live('click', function() {
  $("#container").animate({"left": "-=100%"}, 25000);
});
if (($('#container').position().left/$(document).width())*100<0){
    alert('test');
}
</script>  

$(“#播放”).live('单击',函数()){
$(“#容器”)。动画({“左”:“-=100%”,25000);
});

如果($(“#容器”).position().left/$(document).width())*100您可以使用
步骤
选项:

步骤
:在动画的每个步骤后调用的函数

大概是这样的:

$("#container").animate({"left": "-=100%"}, {
    duration: 25000,
    step: function() {
        if(($('#container').position().left / $(document).width())*100 < 0) {
            alert('test');
        }
    }
});
$(“#容器”)。设置动画({“左”:“-=100%”{
持续时间:25000,
步骤:函数(){
if($('#container').position().left/$(document.width())*100<0){
警报(“测试”);
}
}
});

一旦您的位置测试为真,您将立即收到
警报。当然,在
#container
离开屏幕后,动画可能会继续播放。

您可以使用
步骤
选项:

步骤
:在动画的每个步骤后调用的函数

大概是这样的:

$("#container").animate({"left": "-=100%"}, {
    duration: 25000,
    step: function() {
        if(($('#container').position().left / $(document).width())*100 < 0) {
            alert('test');
        }
    }
});
$(“#容器”)。设置动画({“左”:“-=100%”{
持续时间:25000,
步骤:函数(){
if($('#container').position().left/$(document.width())*100<0){
警报(“测试”);
}
}
});

一旦你的位置测试为真,这将使你得到你的
警报
。当然,在
#容器
离开屏幕后,动画可能会继续播放。

好的,我刚刚发现了一个问题。我不是在做警报,而是在做$(“#预览#容器”).remove()。一旦删除元素,我就会在firebug中得到无限的错误,比如$(“#container”).position()。left为空。你有什么想法吗?@Scarface:你可以
var pos=$(“#container”).position();
然后
if(pos&&pos.left/…)
。只要稍微打开
if
,这样你就可以滑入一个
null
签入。再次感谢你,伙计,你帮了我很大的忙,我很感谢你抽出时间。好的,我刚刚发现一个问题。我不是在做警报,而是在做$(“#预览_容器”)。删除()。一旦删除元素,我就会在firebug中得到无限的错误,比如$(“#container”).position()。left为空。你有什么想法吗?@Scarface:你可以
var pos=$(“#container”).position();
然后
if(pos&&pos.left/…)
。只要稍微打开
(如果
的话)就可以了,这样你就可以滑出一个
null
签入了。再次感谢你,伙计,你帮了我很大的忙,非常感谢你抽出时间。