J'ai propre code de la galerie comme:setTimeout() avec jQuery ne fonctionnent pas sur Chrome
// Gallery
$(function() {
var images = $('#gallery ul li img');
var next = 0;
var timer;
var delay = 5000;
images.click(function() {
if($(this).hasClass('current')) return false; // Prevent from re-showing
$('#gallery ul li.current').toggleClass('current'); // Change current highlighted photo
$(this).parent().toggleClass('current'); // to $(this)
$('#gallery img#show-window').attr('src', $(this).data('src')); // Change viewed photo
$('#gallery .panel h2').text($(this).attr('title')); // Set title
$('#gallery .panel p').text($(this).attr('alt')); // Set description
next = $.inArray(this, images) + 1;
clearTimeout(timer);
timer = setTimeout(function() {
images[next % images.length].click();
}, delay);
});
images[0].click();
});
Et si je le lance sur Chrome (Arch Linux 15.0.874.121 (Build Linux 0)) il ne montre pas d'image avant de cliquer sur l'un des aperçus de la galerie et même après, il ne passe pas à l'image suivante après 5s. Cela fonctionne sur Firefox 8.0 et Opera 11.52.
Effectuez un débogage. Le clic est-il même appelé la première fois? Qu'en est-il de la deuxième fois? Je pense que si vous déplaciez la portée des "images" dans l'appel de fonction anonyme, cela pourrait résoudre votre problème. – Jonathan