// Diaporama v2 // Code structuré afin d'éviter les conflits de namespace et supporte l'obfuscation // http://ajaxcookbook.org/javascript-api-namespaces/ function exportSymbol(name, symbol) { window[name] = symbol; } Event.onReady(function() { function flecheGaucheOff() { flecheGauche.className = 'gauche off'; flecheGauche.onclick = null; } function flecheGaucheOn() { flecheGauche.className = 'gauche on'; flecheGauche.onclick = diapoPrecedente; } function flecheDroiteOff() { flecheDroite.className = 'droite off'; flecheDroite.onclick = null; } function flecheDroiteOn() { flecheDroite.className = 'droite on'; flecheDroite.onclick = diapoSuivante; } function diapoPrecedente() { flecheDroiteOn(); if (pos <= posFinale) { $(idphotos[pos - 1]).show();; $(idphotos[pos + 3]).hide(); } pos -= 1; if (pos === 0) { flecheGaucheOff(); } } function diapoSuivante() { flecheGaucheOn(); if (pos <= posFinale) { $(idphotos[pos]).hide(); $(idphotos[pos + 4]).show(); } pos += 1; if (pos === posFinale) { flecheDroiteOff(); } } var photos = $$('div#photos>div.cadre'); var idphotos = []; photos.each(function(e) { idphotos.push(e.readAttribute('id')) }); var nbPhotos = photos.length; var pos = 0; var posFinale = nbPhotos - 4; var flecheGauche = $$('div#nav span.gauche')[0]; var flecheDroite = $$('div#nav span.droite')[0]; // montre les 4 premières photos var i = 0; var max = (nbPhotos < 3) ? nbPhotos : 3; for (i; i <= max; i+=1) { $(idphotos[i]).show(); } flecheGaucheOff(); if (nbPhotos <= 4 ) { flecheDroiteOff(); } else { flecheDroiteOn(); } $('nav').show(); exportSymbol("diapoPrecedente", diapoPrecedente); exportSymbol("diapoSuivante", diapoSuivante); });