J'utilise le code suivant pour basculer certains éléments sur une page. Le problème est que si un utilisateur clique trop vite, plus d'un panneau s'ouvrira et restera sur la page. Je suppose que c'est parce que j'utilise click()
plutôt que toggle()
mais afin d'obtenir le plein contrôle de l'animation j'ai opté pour la fonction de clic. Y a-t-il un moyen de contourner ceci? Merci.jQuery Toggle Bug
EDIT: Un autre bug que j'ai trouvé est que lors du chargement de la page, le premier panneau s'estompe puis se reconnecte à cause de .filter(':first').click();
à la fin du code, mais ceci est utilisé pour obtenir l'état actif sur le premier panneau . Des alternatives?
jQuery(document).ready(function()
{
var tabContainers = $('div.feature > div');
tabContainers.hide().filter(':first').show();
$('div.feature ul.feature-nav li a').click(function()
{
var ref = this;
tabContainers.filter(':visible').fadeOut(500, function()
{
tabContainers.filter(ref.hash).fadeIn(500);
});
$('div.feature ul.feature-nav li a').removeClass('selected');
$(this).addClass('selected');
return false;
}).filter(':first').click();
});
Je ne veux pas que l'élément par défaut apparaisse au chargement. Il devrait juste être visible comme d'habitude, et tous les autres éléments cachés. – Cameron
vous devez ne pas exécuter la fonction de masquage dans la fonction de document prêt puis comme cela se cache tout en montrant un - d'où le problème de fondu – matpol