这是我到目前为止所拥有的。我想为函数spid()
设置超时。
<script type="text/javascript">
$(document).ready(function() {
$("#spid").animate({top: '-110px' }, 600, 'easeOutBounce',
function spid() {
$(this).animate({top:"-=20px"},1000).animate({top:"+=20px"},1000);
setTimeout("spid()",2000);
});
});
答案 0 :(得分:0)
你只需要传递一个函数。
setTimeout( spid,2000 );
或者您也可以使用setInterval
。
答案 1 :(得分:0)
$(function() {
$("#spid").animate({top: '190px' }, 600,'linear' ,function() {
(function spid() {
console.log('Test');
$(this).animate({top:"+=20px"},1000).animate({top:"+=20px"},1000);
setTimeout(spid,2000);
})();
});
});
上述代码中的this
存在问题,下面的代码段工作正常
修改:
$(function() {
$("#spid").animate({top: '110px' }, 600,'linear' ,function() {
var cache = $(this);
(function spid() {
cache.animate({top:"+=20px"},1000).animate({top:"-=20px"},1000);
setTimeout(spid,2000);
})();
});
});
请测试代码 http://jsbin.com/elaxa3