0

目前我正在尝试进行某种垂直自动滚动。这是我的代码

$(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);
    });
});

而且它根本不起作用。

有任何想法吗?

4

2 回答 2

2

您似乎错误地将function回调传递给setInterval。试试这个。

setInterval( animateMargin, 5000 );
于 2010-05-19T15:32:07.643 回答
1

setInterval()接受一个回调函数。animateMargin()()传递,你已经传入了函数调用的结果,也就是函数的返回值。相反,您应该将函数本身作为animateMargin

于 2011-09-27T07:19:56.517 回答