连续返回元素的位置

时间:2015-11-16 20:17:48

标签: javascript jquery html css

我有一个动画的对象,从窗口顶部落到窗口底部。这很好用,但我想连续返回元素的位置。

目前我有这段代码

var pos = function() {
    console.debug(jQuery('.element').position());
}
jQuery(window).on('mousemove', pos);

返回类的位置"元素"当鼠标移动时,我也尝试了事件处理程序" live"但它不起作用。

我可以使用哪些事件处理程序将不断返回它们的位置? 谢谢

2 个答案:

答案 0 :(得分:2)

使用.animate()' step回调来跟踪您想要的任何内容,从位置到时间:



var $test = $("span");
$("#element").animate({ top: 300 }, { 
  duration: 5000, 
  step: function(now, fx) { 
    $test.text( now );
  }
});

#element{
  position:absolute;
  top: 0;
  background:red;
  width:40px;
  height:40px;
}

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<span></span> px
<div id="element"></div>
&#13;
&#13;
&#13;

http://api.jquery.com/animate/

一个小小的建议,如果你不想丢失你的手指,jQuery遍布整个地方....

jQuery(function( $ ){ // DOM ready and jQuery $ alias secured

    // Free to use $ as you usually would

});

答案 1 :(得分:1)

您可以使用setInterval以给定间隔执行函数。

setInterval(function () {
    // do something here
}, 1000); // each 1 sec, starts after 1s