/**
*
* @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)';
}
};