2

これらのインジケーターは各スライドにリンクしていますが、11 番目のスライドに到達すると、スライドをもう一度循環し続けると停止します。12日になったら元に戻す必要があります。誰でも助けることができます。

for (var i = 1; i <= 12; i++) {
    if (jQuery('#slide-' + i).is(':visible')) {
    console.log('#slide-' + i);
    jQuery('#page_count-' + i).addClass('active');
} else {
    jQuery('#page_count-' + i).removeClass('active');
   };
};

私は試しました: if (i = 12) { i = 1; };

しかし、それはページを壊します....何かアイデアはありますか?

4

2 に答える 2

2

個人的には、ループの代わりに再帰関数を使用します。

var current_slide = 1;
var number_of_slides = 3;
var time_between_slides = 3000; // ms
var nextSlide = function() {

    // do your stuff that changes slides here

    if (current_slide < number_of_slides) {
        current_slide++;
    } else {
        current_slide = 1;
    }

    window.setTimeout(function() {
        nextSlide() // function calls its self, creating an "infinite loop"
    }, time_between_slides);
};
window.setTimeout(function() {
    nextSlide(); // initially call the function to go to the next slide
}, time_between_slides);
于 2013-09-25T13:59:24.983 に答える