我有一个动画的对象,从窗口顶部落到窗口底部。这很好用,但我想连续返回元素的位置。
目前我有这段代码
var pos = function() {
console.debug(jQuery('.element').position());
}
jQuery(window).on('mousemove', pos);
返回类的位置"元素"当鼠标移动时,我也尝试了事件处理程序" live"但它不起作用。
我可以使用哪些事件处理程序将不断返回它们的位置? 谢谢
答案 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;
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