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 に答える