检测正在移动的DOM中的元素的位置
Detecting the position of an element in the DOM being moved
我一直在尝试找到一个工作示例,但我认为我缺少了一些非常基本的东西。我有一个函数来移动一个相对元素的位置,我想在左边的元素超过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();
如果我是你,我只需将元素的left
属性设置为0,然后一直到300px
进行动画,并将其持续时间定义为所需值,如下所示:
$(document).ready(function() {
$(".tele-wrapper").animate({"left": "300px"}, 1000);
// 1000ms = 1 second, set this to whatever you like
});
.tele-wrapper {
position:relative;
left:0
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="tele-wrapper">tele-wrapper</div>
相关文章:
- 使用javascript查找元素位置的最快方法
- 当静态元素与滚动上的固定元素位置重叠时进行检测
- 另一个元素JAVAscript中的元素位置
- CSS.滚动后元素位置发生变化
- JQuery Mobile单击事件不起作用,具体取决于HTML中的元素位置
- 正在查找表行中的td元素位置
- jquery追加元素位置始终为0
- 如何通过JS移动元素位置而不闪烁
- 当按钮点击更改元素位置时,Javascript
- 在事件发生时获取元素位置的当前页面 URL,并将该 URL 输出到另一个页面上
- 更改 JS/D3 页上的元素位置
- 字典中由元素:位置对组成的移动元素
- 观察元素位置并对 AngularJS 中的更改做出反应
- JavaScript 设置宽度尺寸会更改元素位置
- Angularjs 获取元素位置
- 按类名获取元素位置
- 从数组中获取元素位置
- 如何在更改选择元素宽度时固定所有元素位置
- 破解以在滚动条出现时保持水平元素位置
- 将第一个数组中的元素位置与另一个数组进行比较