Мне нужно запустить конкретный код для 3 раза только в JavaScript - PullRequest
0 голосов
/ 30 декабря 2011

Мне нужно анимировать скольжение с помощью jquery. но только в 3 раза. Я написал этот код. Но это более чем в 3 раза. Пожалуйста, помогите мне исправить или дать разные коды. Заранее спасибо.

$(document).ready (function () {
    var i=0;
    while (i<3) {                    
        $('a.nextbtn').click (function () {
            $('ul.post-cat-sliding').stop().animate({"left": "-=596"},1500);
        });
        i++;
    }
});

а также у меня есть предыдущая кнопка ... поэтому, если я нажму предыдущую кнопку, слайд должен вернуться назад.

Ответы [ 3 ]

3 голосов
/ 30 декабря 2011

С вашим текущим кодом вы фактически прикрепляете 3 события нажатия одной кнопкой, а не ограничиваетесь тремя щелчками.Так что с текущим кодом я думаю, что ваш слайдер будет проходить 3 слайда одним щелчком мыши.

Попробуйте код внизу:

$(document).ready (function () {
   var i=0;
   $('a.nextbtn').click (function () {
      if(i < 3) {
         $('ul.post-cat-sliding').stop().animate({"left": "-=596"},1500);
         i++;
      }
   });
});
1 голос
/ 27 мая 2016

for(var i = 0; i < 3; i++) может показаться слишком многословным.

Возможно, вам могут понравиться некоторые из этих подходов:

for(i in [1,2,3]){
    console.log('three times')
}

или

for(i in new Array(3).fill()){
    console.log('three times')
}

или

for(i in '...'.split('')){
    console.log('three times')
}
0 голосов
/ 30 декабря 2011

Вместо этого я бы использовал цикл for:

$(document).ready(function(){
    $('a.nextbtn').click (function(){
        for(var i = 0; i<3;i++)
        {
            $('ul.post-cat-sliding').stop().animate({"left": "-=596"},1500);
        }
    });
});

РЕДАКТИРОВАТЬ: Был только зацикливание, когда я прочитал пост. Если вы хотите, чтобы анимация запускалась 3 раза при нажатии кнопки nextbtn, вам следует использовать приведенный выше код. Вы можете повторно использовать код с a.prevbtn

...