C'est bon j'ai réussi ! Testé avec succès sous IE (5.5, 6 et 7), Firefox 2.0, Opera 9.22 et Konqueror 3.5.7.
var j = -1;
var texts = new Array('Texte 1', 'Texte 2', 'Texte 3', 'Texte par défaut.');
function showNextText(){
var textColor = document.getElementById('infos').style.color.toLowerCase();
if(textColor=='#000000' || textColor=='#000' || textColor=='rgb(0, 0, 0)'){
setTimeout('hideCurrentText()', '3000');
}
else{
if(textColor.substr(0,1)=='#'){
textHexColor=textColor.substr(1,2);
eval('nextColor=0x'+textHexColor+'-0x33;');
}
else if(textColor.substr(0,3)=='rgb'){
var colors=RegExp(/^rgb\((\d{1,3}),\s*(\d{1,3}),\s*(\d{1,3})\)$/).exec(textColor);
nextColor=parseInt(colors[1])-51;
}
else return;
nextColor=nextColor.toString(16);
document.getElementById('infos').style.color='#'+nextColor+nextColor+nextColor;
setTimeout('showNextText()', '100');
}
}
function hideCurrentText(){
var textColor = document.getElementById('infos').style.color.toLowerCase();
if(textColor=='#ffffff' || textColor=='#fff' || textColor=='rgb(255, 255, 255)'){
j++;
if(j>=texts.length) j=0;
document.getElementById('infos').firstChild.nodeValue=texts[j];
showNextText();
}
else{
if(textColor.substr(0,1)=='#'){
textHexColor=textColor.substr(1,2);
eval('nextColor=0x'+textHexColor+'+0x33;');
}
else if(textColor.substr(0,3)=='rgb'){
var colors=RegExp(/^rgb\((\d{1,3}),\s*(\d{1,3}),\s*(\d{1,3})\)$/).exec(textColor);
nextColor=parseInt(colors[1])+51;
}
else return;
nextColor=nextColor.toString(16);
document.getElementById('infos').style.color='#'+nextColor+nextColor+nextColor;
setTimeout('hideCurrentText()', '100');
}
}
window.onload=function (){
document.getElementById('infos').style.color='#000';
setTimeout('hideCurrentText()', '3000');
}
À savoir pour paramétrer :
- l'effet de disparition/apparition se fait par changement de couleur du texte c'est pourquoi ce script ne fonctionne que avec du texte noir sur fond blanc
- chaque texte reste affiché 3 secondes pour changer cela il faut changer les deux valeurs '3000' dans les
setTimeout
- le script s'applique sur l'élément possédant l'id "infos", il faut donc modifier les occurrences de "getElementById('infos')"
Voilà je crois que c'est à peu près tout.
Je m'en vais de suite poster ce script dans le topic des fonctions utiles.
Modifié par CNeo (28 Aug 2007 - 11:38)