2016-07-22 3 views
0

программно На фонда 6.Foundation 6 Orbit: Изменение слайдов

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

Есть ли способ сделать эту работу?

Я попробовал этот код:

jQuery('#theslider').foundation('changeSlide', true, slide_id); 

//slide_id is the jQuery object's slide ex: jQuery(#slideid); 

Это своего рода работает, но работает нестабильно.

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

Кажется, что я не могу найти образец того, что происходит.

Я не эксперт по javascript, поэтому мне может быть что-то действительно очевидное.

+0

Слайдер имеет собственный таймер, чтобы скользить к следующему слайдера-изображения. Когда вы реализуете эту функцию, она работает, но когда время увеличивается, она переходит к следующему слайду. Поэтому попробуйте управлять таймером также с помощью функции, которую вы написали. Кроме того, попробуйте поделиться своим кодом через jsfiddle. –

ответ

0

Мое решение следующим образом:

$('.orbit-external-control').on('click', function() { 
    var activeIdx = ~~$('.orbit .orbit-bullets .is-active').data('slide') 
    var changeIdx = ~~$(this).data('slide') 
    var isLTR = (changeIdx > activeIdx) ? true : false 

    if (activeIdx === changeIdx) 
    return 

    var chosenSlide = $('.orbit .orbit-slide').filter(function (index) { 
    return index === changeIdx 
    }) 

    $('.orbit').foundation('changeSlide', isLTR, chosenSlide, changeIdx) 
}) 
Смежные вопросы