$(function() { var i = 0; $('.carroussel').each(function() { var carroussel = $(this); carroussel.attr('idx', 1); carroussel.attr('id', 'carroussel'+ i); carroussel.find('.button').mouseover(function() { carroussel.attr('idx', $(this).attr('id').substring(4)); states[carroussel.attr('id')] = true; setCarroussel(carroussel, $(this).attr('id'), true); }); carroussel.find('.button').mouseout(function() { states[carroussel.attr('id')] = null; startCarroussel(carroussel); }); startCarroussel(carroussel); i++; }); }); var states = []; var timers = []; function startCarroussel(carroussel) { if( states[carroussel.attr('id')] != null ) { return; } timers[carroussel.attr('id')] = setTimeout(function() { if( states[carroussel.attr('id')] != null ) { return; } var idx = parseInt(carroussel.attr('idx'), 10) + 1; var nb = carroussel.hasClass('carroussel3bis') ? carroussel.find('.cont').length : carroussel.find('.text DIV').length; if( idx > nb ) { idx = 1; } carroussel.attr('idx', idx); setCarroussel(carroussel, 'text' + carroussel.attr('idx')); startCarroussel(carroussel); }, 2000); } function setCarroussel(carroussel, code, stop) { /* if( carrouselChanging || $('.carroussel .text DIV').queue("fx") != '' ) { return; } carrouselChanging = true; var text = carroussel.find('.' + code); var button = carroussel.find('#' + code); carroussel.find('.button').removeClass('buttonon'); button.addClass('buttonon'); carroussel.find('.text DIV').animate({opacity: 0}, 300, function() { carrouselChanging = false; }); text.animate({opacity: 1}, 300); */ var text = carroussel.find('.' + code); var button = carroussel.find('#' + code); if( carroussel.hasClass("carroussel3bis") ) { carroussel.find('.cont').hide(); carroussel.find('.'+code).show(); carroussel.find('.fleche').hide(); carroussel.find('.'+code+'fleche').show(); } else { carroussel.find('.i').hide(); carroussel.find('.i'+code).show(); carroussel.find('.text DIV').css('opacity', 0); text.css('opacity', 1).show(); } carroussel.find('.button').removeClass('buttonon'); button.addClass('buttonon'); if( stop ) { clearTimeout(timers[carroussel.attr('id')]); return; } }