Il y avait en effet une erreur de ma part dans le .js, j'ai du enlever l'arrêt de l'image lors du survol qui bug, je dois voir pour le refaire
<u>Voici le carrousel.js sans bug</u>
var carrousel = {
nbSlide : 0,
nbCurrent : 1,
elemCurrent : null,
elem : null,
temps : 5000,
timer : null,
init : function(elem,duration){
if(duration > 0){
this.temps = duration;
}
this.nbSlide = $(elem).find(".slide").length;
// Créer la pagination
$(elem).append('<div class="navigation"></div>');
for(var i=1;i<=this.nbSlide;i++){
$(elem).find('.navigation').append('<span>'+i+'</span>');
}
$(elem).find('.navigation span').click(function(){
carrousel.gotoSlide($(this).text());
});
// Initialisation du carrousel
this.elem = elem;
$(elem).find('.slide').hide();
$(elem).find('.slide:first').show();
this.elemCurrent = $('.slide:first');
$('.navigation span:first').addClass('active');
// Création du timer
carrousel.play();
// Stop quand on passe sur les images (Encore un peu bugé)
// $(elem).mouseover(carrousel.stop);
// $(elem).mouseout(carrousel.play);
// Next Et Prev quand on clique sur les boutons
$('.next').click(function(){
carrousel.next();
carrousel.play();
return false;
});
$('.prev').click(function(){
carrousel.prev();
carrousel.play();
return false;
});
},
gotoSlide : function(num){
if(num==this.nbCurrent){ return false; }
/* Animation en FadeIn/FadeOut
this.elemCurrent.fadeOut('slow');
$('#slide'+num).fadeIn('slow');
*/
/* Animation en Slide */
var sens = 1;
if(num<this.nbCurrent){ sens = -1}
var cssDeb = { 'left' : sens*$(this.elem).width()};
var cssFin = { 'left' : -sens*$(this.elem).width()};
$('#slide'+num).show().css(cssDeb);
$('#slide'+num).animate({'top':0,'left':0},500);
$(this.elemCurrent).animate(cssFin,500);
$('.navigation span').removeClass('active');
$('.navigation span:eq('+(num-1)+')').addClass('active');
this.nbCurrent = num;
this.elemCurrent = $('#slide'+num);
carrousel.play();
},
next : function(){
var num = this.nbCurrent+1;
if(num > this.nbSlide){
num = 1;
}
this.gotoSlide(num);
},
prev : function(){
var num = this.nbCurrent-1;
if(num < 1){
num = this.nbSlide;
}
this.gotoSlide(num);
},
stop : function(){
window.clearInterval(carrousel.timer);
},
play : function(){
window.clearInterval(carrousel.timer);
this.timer = window.setInterval('carrousel.next()',this.temps);
}
}
Est-ce possible que tu ais fait une erreur dans le style.css car j'ai bien tout retester le tout et je n'ai pas ce genre de problème, je t'envoie donc le .css au cas où, hésite pas à le tester voir si il y a un bug chez toi.
#carrousel{
border: solid 5px #e7dbc5;
width: 712px;
height: 264px;
margin: 0 auto;
position: relative;
overflow: hidden;
}
.slide{
position: absolute;
top: 0;
left: 0;
width: 712px;
height: 264px;
}
.title{
position: absolute;
height: 35px;
bottom: 0px;
left: 0px;
width: 700px;
background: url(http://www.grafikart.fr/demo/jQuery/Carrousel/img/opaque.png) repeat;
padding-left: 12px;
line-height: 35px;
}
.navigation{
position: absolute;
bottom: 38px;
right: 5px;
}
.navigation span{
background: #123;
color: #FFF;
padding: 2px 4px;
cursor: pointer;
}
.navigation span:hover,.navigation span.active{
background: #FFF;
color: #123;
}
J'espère que cette fois-ci ce sera bon :)