0

スライダーを再生および停止するための解決策が見つかりました。しかし、次のリンクと前のリンクに問題があります。 私のコードは http://jsfiddle.net/yogesh84/ftkLd/12/にあります

var slides;
        var cnt;
        var amount;
        var i;
        var x;
        var timer;
        slides = jQuery('#my_slider').children();
        cnt = jQuery('#counter');
        amount = slides.length;
        i=amount;

 cnt.text(i+' / '+amount);
        function run_prev() {
          jQuery(slides[i]).fadeOut(1000);
            i--;

            if (i <= 0) i = amount;
            jQuery(slides[i]).fadeIn(1000);
            // updating counter
            cnt.text(i+' / '+amount);

        }
        x=0;
        function run_next() {
            // hiding previous image and showing next
            jQuery(slides[x]).fadeOut(1000);
            x++;
            if (x >= amount) x = 0;
            jQuery(slides[x]).fadeIn(1000);
            cnt.text(x+1+' / '+amount);

        }
        /***********start and stop functions***************/
        function run() {
        // hiding previous image and showing next
        jQuery(slides[x]).fadeOut(1000);
        x++;
        if (x >= amount) x = 0;
        jQuery(slides[x]).fadeIn(1000);
        timer = setTimeout(run,2000);
        }
        function MySlider() {
             timer = setTimeout(run,2000);
        }

        function stoper() {
              clearTimeout(timer);
        }

/***********end start and stop functions***************/


        function slide_show(){
            var timer;
                if(jQuery('#slide_show').html()=='Play Slideshow')
                {

                    jQuery('#slide_show').html('Stop Slideshow');
                     MySlider();
                }
                else
                { 
                   jQuery('#slide_show').html('Play Slideshow');
                   stoper()
                }
            }



// custom initialization

    jQuery('#prev2').on("click",run_prev);
    jQuery('#next2').on("click",run_next);
    jQuery('#slide_show').on("click",slide_show);
4

1 に答える 1

0

設定し忘れたみたい timer

あなたは一番上で宣言します: timerしかし、それは決して満たされません。

だから私はあなたがすべきだと思う:

timer =  setTimeout( run, inetrval );

また、関数を Run() の外側に持っていきます

function run() {
}

if ( inetrval > 0 ) {
    alert( inetrval );
    run();
    timer = SetTimeOut( run, inetrval )
}
于 2013-10-11T13:49:53.383 に答える