目前我正在尝试进行某种垂直自动滚动。这是我的代码
$(document).ready(function() {
var reachEnd = false;
var top = 0;
function animateMargin(){
if(top == -720){
reachEnd = true;
}
if(reachEnd == false){
$('#bslider').animate({'marginTop' : '-=240px'}, 500);
top -=240;
}else{
$('#bslider').animate({'marginTop' : '0px'}, 1000);
top = 0;
reachEnd = false;
}
};
marginInterval = setInterval('animateMargin()', 5000);
$('#banner').hover(function(){
clearInterval( marginInterval );
},
function(){
marginInterval = setInterval('animateMargin()', 5000);
});
});
它根本不起作用。
有什么想法吗?
答案 0 :(得分:2)
您似乎错误地将function
回调传递给了setInterval
。试试这个。
setInterval( animateMargin, 5000 );
答案 1 :(得分:1)
setInterval()
采用回调函数。
通过()传递animateMargin()
,您已经传入了函数调用的结果,这是函数的返回值。
相反,您应该将函数本身作为 animateMargin