2012-03-05 8 views
11

Estoy usando el plugin flexslider y quería saber si hay una manera fácil (aparte de cambiar el núcleo del plugin, que es lo que voy a hacer hacer si no encuentro una respuesta fácil) para mostrar la siguiente diapositiva al hacer clic en la diapositiva actual. Configuré el flexslider como esteCómo mostrar la siguiente diapositiva al hacer clic en la imagen en flexslider

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

Inhabilité el comando Prev/Next porque no me gustaron. ¿Que debería hacer?

+1

Hay muchos plug-ins por ahí que usted' Es poco probable que encuentre a alguien que responda esto. –

+0

Esto es muy específico. Cualquier complemento medio decente tendría su propio foro de soporte. ¿Has probado su sitio para ver si tienen un foro de soporte? Si lo hacen, es probable que esto se haya preguntado allí. – ClarkeyBoy

+0

@ClarkeyBoy hay un foro de soporte, pregunté allí también, voy a terminar modificando el núcleo –

Respuesta

42

Tal vez un poco demasiado tarde, pero aquí está la solución para 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

¡Estaba buscando esto, gracias! – rkrdo

+1

Esto funciona, pero hace que todas las instancias de Flexslider en la página avancen a la siguiente diapositiva. ¿Sabes cómo hacer que sea solo aquel en el que se hace clic que avanza? – Simon27

+1

¡Gracias, tonelada, amigo! – Zohaib

-1

Una vez finalizada cada animación deslizante, encontrar la diapositiva activa y cambiar la imagen 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"); 
    }); 
}); 
+1

Tal vez me falta algo, pero esto destruirá por completo el control deslizante real. Solo quisiera ver la siguiente diapositiva, pero este cubo de rubics con las imágenes dentro de esas diapositivas. Más importante aún, las diapositivas a menudo son más que solo una imagen ... Esta es de lejos la peor idea. Incluso si quisiera copiar el cubo de la presentación de diapositivas, podría hacerlo con el contenido de la diapositiva y no tomar fuentes de imágenes al azar ... – Jake

1

que tenía un problema de Safari con el código anterior. Esta es mi solución fácil.

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

He aquí una pequeña actualización de la respuesta aceptada anteriormente que se dirige a la barra deslizante específica se hace clic, en lugar de todos los controles deslizantes en la página:

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