/** * * @param HTMLElement element : Objet HTML à modifier * @param int opacity : opacité à atteindre * @param int duration : Durée de l'aniamtion de l'opacité en millisecondes * @param int steps : nombre d'étapes de modification de l'opacité * @param int curOpacity : opacité actuel * */ var counter = 0; var setOpactityModifier = function(element, opacity, duration, steps, curOpacity) { if(typeof element.opacityEffect == 'undefined') element.opacityEffect = new Object(); /* if(element.opacityEffect.timer == null || typeof element.opacityEffect.timer == 'undefined') { */ /* opacity = opacity || 100; //in percent duration = duration || 1000;//in milliseconds steps = steps || 25; //frames * speed curOpacity = curOpacity || 0; //in percent */ var opPerSteps = (opacity - curOpacity) / steps; element.opacityEffect = { curOpacity : curOpacity, opacity : opacity, opPerSteps : opPerSteps } element.opacityEffect.timer = setInterval( (function() { return function() { var opacityEffect = element.opacityEffect, opacity = opacityEffect.opacity, curOpacity = opacityEffect.curOpacity, opPerSteps = opacityEffect.opPerSteps, eStyle = element.style, newOpacity = curOpacity + opPerSteps;//in % element.opacityEffect.curOpacity = newOpacity; if((newOpacity >= opacity && opPerSteps >= 0) || (newOpacity <= opacity && opPerSteps <= 0)) { newOpacity = opacity; clearInterval(opacityEffect.timer);//clear Timer opacityEffect.timer = null; /* //delete [Object].porperty not work with IE delete element.opacityEffect; //del effectModifier and parameters */ } if(typeof document.body.style.filter != 'undefined')//IE //eStyle.filter = 'alpha(opacity=' + newOpacity + ')'; //document.body.style.filter = 'alpha(opacity=' + newOpacity + ')'; //IE la grosse merde ! il chie dans tout les sens ! element.style.filter = 'alpha(opacity=' + newOpacity + ')'; else//else for others webbrowsers (whitout opera ... ?) eStyle.opacity = newOpacity / 100; //alert(eStyle.filter); } })(), duration / steps ); //} }; var curElement; function displayWords() { if(curElement.parentNode.lastChild == curElement) curElement = curElement.parentNode.firstChild; else curElement = curElement.nextSibling; setOpactityModifier(curElement, 100, 1000, 25, 0); curElement.style.visibility = 'visible'; setTimeout(function() { setOpactityModifier(curElement, 0, 1000, 25, 100); setTimeout(function() { curElement.style.visibility = 'hidden'; displayWords(); }, 1000); }, 1000) } //On éxecute la fonction onLoad au lancement de la page window.onload = function() { //donc on est sur la home page if(document.getElementById('index')) { curElement = document.getElementById('problems').lastChild; displayWords(); //document.body.style.filter = 'alpha(opacity=50)'; } };