2012-03-10 4 views
1

Я хочу, чтобы петли скользят определенное количество раз и останавливаются на последнем слайде.Flexslider: Как закодировать определенное количество раз?

Пожалуйста, помогите.

$(document).ready(function() { 
    $('.flexslider').flexslider({slideshowSpeed: 5000}); 
}); 
+0

Вы пробовали обернуть свой код в цикле while? возможно, вы могли бы добавить еще код или пример? var i = 0; while (i <= 9) { $ ('. Flexslider'). Flexslider ({slideshowSpeed: 5000}); i ++; } – KryptoniteDove

ответ

2

Используя функции обратного вызова, вы можете сделать что-то вроде этого.

Сначала установите переменное количество петель вы хотите:

var n = 4

тогда, когда вы инициализацию ползунка добавить эту опцию:

after: function(slider) { 
    if (slider.currentSlide == slider.count - 1) { // is last slide 
     n--; 
     if(n==0) { 
     slider.pause(); 
     } 
    } 
} 

Я надеялся использовать функцию end: function(){} но это только срабатывает, когда анимация отключена. Здесь есть небольшое раздражение, так как var n будет продолжать уменьшаться, если пользователи начнут цикл вручную. Не слишком хлопотно, хотя я надеюсь.

Приятный бонус заключается в том, что вы можете возобновить слайд-шоу, если хотите. Посмотрите advanced docs для получения дополнительной информации.

Надеюсь, что это поможет!

+0

Это не работает. Отсутствует}); после списка свойств. $ (Документ) .ready (функция() { \t вар п = 2; \t $() FlexSlider ({slideshowSpeed: 5000, после того, как: функции (слайдер) { \t \t, если (slider.currentSlide 'FlexSlider.'. == slider.count - 1) {// это последний слайд \t \t \t N-,; \t \t \t, если (п == 0) {slider.pause();} \t \t} \t}); }); –

+0

Похоже, вы забыли закрыть функцию с помощью}. Работает отлично. –

+0

bleh bad indentation испортил мое закрытие. которые должны работать. * EDIT * Я обновил ответ с правильным закрытием, рад, что он работает :) – lnrbob