0

Web サイトに coda スライダーを使用していますが、残念ながらウィンドウを最小化した後、コンテンツ スライダーの再生速度が非常に速くなります。セットタイムアウトと関係があることはわかっていますが、まだ完璧な結果を達成できていません。これに関するヘルプをいただければ幸いです。私のスクリプトコードは次のとおりです。

    var theInt = null;
    var $crosslink, $navthumb;
    var curclicked = 0;

    theInterval = function(cur){
        clearInterval(theInt);

        if( typeof cur != 'undefined' )
            curclicked = cur;

        $crosslink.removeClass("active-thumb");
        $navthumb.eq(curclicked).parent().addClass("active-thumb");
            $(".stripNav ul li a").eq(curclicked).trigger('click');

        theInt = setInterval(function(){
            $crosslink.removeClass("active-thumb");
            $navthumb.eq(curclicked).parent().addClass("active-thumb");
            $(".stripNav ul li a").eq(curclicked).trigger('click');
            curclicked++;
            if( 4 == curclicked )
                curclicked = 0;

        }, 8000);
        setTimeout( nextCycle, 2000 );
    };

    $(function(){

        $("#main-photo-slider").codaSlider();

        $navthumb = $(".nav-thumb");
        $crosslink = $(".cross-link");

        $navthumb
        .click(function() {
            var $this = $(this);
            theInterval($this.parent().attr('href').slice(1) - 1);
            return false;
        });

        theInterval();
    });
4

2 に答える 2

1

私はいつも setTimeout で問題に遭遇します。私の方法は、次のようなことをすることです:

var timer = setTimeout( function(){nextCycle();}, 2000 );

于 2012-05-04T15:19:04.543 に答える
0

ライブラリが、私が使用している別のライブラリと衝突しているようです。ブラウザー ウィンドウが最小化されているか、ページに戻ってページを更新するときにタブが変更されたときに別の関数を使用しました。この場合、すべてのスクリプトがリロードされ、スライダーが最初から開始されます。ページ全体を更新せずにスクリプトだけ更新するか、スライダーを最初から再生するだけでできればいいのですが、残念ながら私のjavascriptの知識はあまりありません! コードは次のとおりです。

     $(window).blur(function() {
//Do Nothing//   
});

$(window).focus(function() {
//This refreshes the whole page //
       location.reload();
});
于 2012-08-07T09:20:06.520 に答える