Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/474.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 检测正在移动的DOM中元素的位置_Javascript_Jquery_Css - Fatal编程技术网

Javascript 检测正在移动的DOM中元素的位置

Javascript 检测正在移动的DOM中元素的位置,javascript,jquery,css,Javascript,Jquery,Css,我一直试图找到一个有效的例子,但我认为我缺少一些非常基本的东西。我有一个函数来移动一个相对元素的位置,我想在左元素超过300px时停止元素的移动。我正在使用此代码移动元素: function tele_right(){ $(".tele-wrapper").animate({"left": "+=15px"}, 25); } 我想使用类似这样的代码在DOM中执行一次操作,左侧位置达到300: if($('.tele-wrapper').css('left') == '300px') {

我一直试图找到一个有效的例子,但我认为我缺少一些非常基本的东西。我有一个函数来移动一个相对元素的位置,我想在左元素超过300px时停止元素的移动。我正在使用此代码移动元素:

function tele_right(){
    $(".tele-wrapper").animate({"left": "+=15px"}, 25);
}
我想使用类似这样的代码在DOM中执行一次操作,左侧位置达到300:

if($('.tele-wrapper').css('left') == '300px') {
    console.log('yay');
}

非常感谢您的帮助。

如果我是您,我只需将元素的left属性设置为0,然后将动画一直设置为300px,并将其持续时间定义为所需的值,如下所示:

$document.readyfunction{ $.tele wrapper.animate{left:300px},1000; //1000ms=1秒,设置为任意值 }; .电传包装机{ 位置:相对位置; 左:0 }
tele wrapper您只需使用偏移量和设置超时即可实现这一点:


谢谢分享。
function tele_right(){
    var left=$(".tele-wrapper").offset().left;
    if(left<300){
        $(".tele-wrapper").animate({"left": "+=15px"}, 25);
        setTimeout(tele_right,25);
    }
    else{
        alert('passed 300 pixels');
    }
}
tele_right();