Как показать следующий слайд при нажатии на изображение в flexslider

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

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

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

4 ответов


может быть, немного поздно, но вот решение для 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"));
    });
}
});

У меня была проблема 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"    
    });
});

вот небольшое обновление принятого ответа выше, которое нацелено на конкретный ползунок, а не на все ползунки на странице:

$('.flexslider').flexslider({ 
    start: function(slider) {
        $('.slides li img', slider).click(function(event){
            event.preventDefault();
            slider.flexAnimate(slider.getTarget("next"));
        });
    }
});

после завершения анимации каждого слайдера найдите активный слайд и измените изображение 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");
   });
});