Как показать следующий слайд при нажатии на изображение в flexslider - PullRequest
11 голосов
/ 05 марта 2012

Я использую плагин flexslider , и я хотел узнать, есть ли простой способ (кроме изменения ядра плагина, что я и собираюсь делать, если не найду)простой ответ), чтобы показать следующий слайд при нажатии на текущий слайд.Я настроил flexslider следующим образом:

$('.flexslider').flexslider({
    directionNav : false,
    slideshow: false,
        animation: "slide",
        controlsContainer: ".flex-container"
    });

Я отключил команду Prev / Next, потому что они мне не нравились.Что мне делать?

Ответы [ 4 ]

42 голосов
/ 04 июля 2012

Возможно, немного слишком поздно, но вот решение для Flexslider 2:

$('.flexslider').flexslider({
    directionNav : false,
    slideshow: false,
    animation: "slide",
    controlsContainer: ".flex-container",
    start: function(slider) {
    $('.slides li img').click(function(event){
        event.preventDefault();
        slider.flexAnimate(slider.getTarget("next"));
    });
}
});
1 голос
/ 24 января 2015

У меня была проблема Safari с кодом выше.Это моё простое решение.

jQuery( document ).ready( function( $ ) {
    $('.flexslider').on('click', function(){
        $(this).find('.flex-next').click();
    });  
}


$(window).load(function() { 
    // Slider
    $('.flexslider').flexslider({
    directionNav : false,
    slideshow: false,
    animation: "slide",
    controlsContainer: ".flex-container"    
    });
});
0 голосов
/ 07 июля 2016

Вот небольшое обновление принятого ответа выше, которое предназначено для определенного ползунка, по которому щелкнули, а не для всех ползунков на странице:

$('.flexslider').flexslider({ 
    start: function(slider) {
        $('.slides li img', slider).click(function(event){
            event.preventDefault();
            slider.flexAnimate(slider.getTarget("next"));
        });
    }
});
0 голосов
/ 26 июля 2013

После завершения анимации каждого слайдера найдите активный слайд и измените изображение src

$('.flexslider').flexslider({
    animation: "slide",
    animationLoop: false,
    slideshow: false,
    touch: true,
    itemWidth: 235,
    itemMargin: 10,
    after: function (slider) {
      $(slider).find('.flex-active-slide').find("img").each(function () {
      var src = $(this).attr("data-src");
      $(this).attr("src", src).removeAttr("data-src");
   });
});
...