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

标签 javascript jquery css

我一直在努力寻找一个可行的例子,但我认为我遗漏了一些非常基本的东西。我有一个移动相对元素位置的功能,我想在左侧元素超过 300px 后停止元素移动。我正在使用此代码移动元素:

function tele_right(){
    $(".tele-wrapper").animate({"left": "+=15px"}, 25);
}

一旦在 DOM 中左侧位置达到 300,我想使用类似这段代码的代码来执行某些操作:

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

如有任何帮助,我们将不胜感激。

最佳答案

您可以使用 offset()setTimeout 简单地实现此目的: DEMO

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();

关于javascript - 检测正在移动的 DOM 中元素的位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26691892/

相关文章:

javascript - 如何在 div 的中心放置弹出消息?

javascript - rails 5 : use link_to target an mp3 (as a model object) as well as a separate div with a different attribute of the same object?

javascript - 选择 'item' 2 on load - Owl Carousel

jquery - 为社交媒体链接在页面左侧设置图像

html - 手机版网站

javascript - 如何将 CSS 属性设置为 if 语句中的条件?

javascript - 普通 JS/HTML : best practice to connect html object to internal data-model/array

javascript - Laravel 使用 AJAX 下载 xls 文件

javascript - 使用 jQuery 和 CSS 在特定元素之前和之后为 child 设置不同的样式?

jquery - 使用jquery悬停鼠标后如何取回初始图像