Как показать следующий слайд при нажатии на изображение в 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");
});
});