2012-03-05 10 views
11

Sto utilizzando il plug-in flexslider e volevo sapere se c'è un modo semplice (a parte cambiare il nucleo del plug-in che è ciò che sto andando fare se non trovo una risposta facile) per mostrare la diapositiva successiva quando si fa clic sulla diapositiva corrente. Ho impostato il flexslider come questoCome mostrare la diapositiva successiva quando si fa clic sull'immagine in flexslider

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

Ho disabilitato il comando Prev/Next perché non mi piacevano. Cosa dovrei fare?

+1

Ci sono così tanti plug-in là fuori che si' è improbabile trovare qualcuno che risponda a questo. –

+0

Questo è molto specifico. Qualsiasi plugin mezzo decente avrebbe il proprio forum di supporto - hai provato il loro sito per vedere se hanno un forum di supporto? Se lo fanno, è probabile che sia stato chiesto lì. – ClarkeyBoy

+0

@ClarkeyBoy c'è un forum di supporto, ho chiesto anche lì, finirò per modificare il core –

risposta

42

Forse un po 'troppo tardi, ma qui è la soluzione per 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

stavo cercando questo, grazie! – rkrdo

+1

Funziona, ma fa in modo che tutte le istanze di Flexslider nella pagina avanzino alla diapositiva successiva. Sai come fare solo quello che viene cliccato che avanza? – Simon27

+1

Grazie amico! – Zohaib

-1

Dopo ogni animazione cursore completa, trovare la diapositiva attiva e cambiare lo src dell'immagine

$('.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

Forse mi manca qualcosa, ma questo distruggerà completamente il cursore attuale. Vorrei solo andare alla diapositiva successiva, ma questo gioco rubi cubo con le immagini all'interno di quelle diapositive. Ancora più importante, le diapositive spesso non sono solo un'immagine ... Questa è di gran lunga l'idea peggiore. Anche se volevi rubare il cubo della tua presentazione, potresti farlo con il contenuto della diapositiva e non afferrare in modo casuale le fonti di immagini ... – Jake

1

ho avuto un problema con Safari con il codice sopra. Questa è la mia soluzione facile.

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

Ecco un piccolo aggiornamento per la risposta accettata sopra che gli obiettivi del dispositivo di scorrimento specifica cliccato, piuttosto che tutti i cursori nella pagina:

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