Ho creato un jQuery content switcher. In generale, funziona bene, ma c'è un problema con esso. Se fai clic sui collegamenti sul lato più volte, a volte diventano visibili più parti del contenuto.Evita l'evento click in jQuery che si attiva più volte
Il problema molto probabilmente si trova da qualche parte all'interno dell'evento click. Ecco il codice:
$('#tab-list li a').click(
function() {
var targetTab = $(this).attr('href');
if ($(targetTab).is(':hidden')) {
$('#tab-list li').removeClass('selected');
var targetTabLink = $(this).parents('li').eq(0);
$(targetTabLink).addClass('selected');
$('.tab:visible').fadeOut('slow',
function() {
$(targetTab).fadeIn('slow');
}
);
}
return false;
}
);
Ho provato ad aggiungere un blocco per la transizione in modo che ulteriori scatti vengono ignorati come il passaggio sta avvenendo, ma senza alcun risultato. Ho cercato anche per evitare che il passaggio da essere attivato se qualcosa è già animando, utilizzando il seguente:
if ($(':animated')) {
// Don't do anything
}
else {
// Do transition
}
ma sembra sempre che le cose vengono animati. Qualche idea su come posso impedire che l'animazione venga attivata più volte?
Genius. Salvato il mio culo oggi con questa risposta, non riuscivo a capire perché fossero registrati più eventi di clic, ho pensato che jQuery sarebbe stato intelligente e smetterebbe di succedere, jQuery non può fare tutto per te come risulta. Grazie. –