Bonjour

Je crée ce post avec le même titre qu'un autre, car mon problème est similaire.

Voici ce que j'ai fait pour que ça fonctionne :
dans mon HTML : [code]<script>
$(function(){
showroom_01.init($("#showroom_01"));
showroom_02.init($("#showroom_02"));
showroom_03.init($("#showroom_03"));
showroom_04.init($("#showroom_04"));
});
</script>[/code]

Pour ce qui est du code JavaScript : [code]var showroom_01 = {

nbRoom : 0,
nbCurrent : 1,
elemCurrent : null,
elem : null,
timer : null, 

init : function(elem){
    this.nbRoom = elem.find(".slide").length;

    // Création du trigger
    elem.append('<div class="trigger"></div>');

    // Initialisation du showroom
    this.elem = elem;
    elem.find(".slide").hide();
    elem.find(".slide:first").show();
    this.elemCurrent = elem.find(".slide:first");

    // Stop & Go
    this.elem.find(".trigger").mouseover(showroom_01.play);
    this.elem.find(".trigger").mouseout(showroom_01.stop);
}, 

gotoRoom : function(num){
    if (num == this.nbCurrent){ return false; }
    this.elemCurrent.fadeOut();
    this.elem.find(".slide" + num).fadeIn();
    this.nbCurrent = num;
    this.elemCurrent = this.elem.find(".slide" + num);
}, 

next : function(){
    var num = this.nbCurrent + 1;
    if (num > this.nbRoom){
        num = 2;
    }
    this.gotoRoom(num);
}, 

play : function(){
    var num = 2;
    showroom_01.gotoRoom(num);
    showroom_01.timer = window.setInterval("showroom_01.next()",2000);
}, 

stop : function(){
    window.clearInterval(showroom_01.timer);
    showroom_01.gotoRoom(1);
}

}
(...)[/code]

Sauf que j'ai dupliqué quatre fois (!!) cette partie de code, en remplaçant mes '_01' par '_0n'... Ça ne me plait pas du tout, car là ça va, j'en ai 4, mais si demain j'en ai 2.000, c'est impensable de dupliquer 1.996 fois de plus ce bout de code.

Avez vous une/des suggestion(s) ?

Pour informations complémentaire, j'ai un peu modifier le code, et la réaction est maintenant la suivante :
initialize : rien ne se passe, on affiche l'image 1.
onMouseOver : on passe à l'image 1, puis on comment à lire les images les unes après les autres, en loop, sans revenir sur l'image 1.
onMouseOut : on retourne sur l'image 1 et on arrête la lecture.

Aucune réponse