11550 sujets

JavaScript, DOM et API Web HTML5

Bonjour,

J'ai modifié un petit script de défilement de texte (assez répandu) en javascript.
Il fonctionne admirablement sous FireFox et sous Chrome, mais donne un résultat horrible sous IE8.

Pourriez-vous m'aider, SVP ?

<!-- DEBUT DU SCRIPT -->
<!-- Définir le style CSS ici -->
<STYLE TYPE="text/css">
.ejs_scroll {color:#48365a;font-size: 11pt;display:block;padding-left:2px;font:bold 95% Verdana, Arial;margin:2;text-align:left;text-decoration:underline}
</STYLE>

<script type="text/javascript"> 
<!-- 
ejs_scroll_largeur = 343;  
ejs_scroll_hauteur = 37;  
ejs_scroll_bgcolor = '';  
ejs_scroll_background = "";  

/* temps en secondes */  
ejs_scroll_pause_seconde = 3;  
ejs_scroll_message = new Array;  


/* Messages */  
ejs_scroll_message[0]='<a href=http://www.site.com/t1.htm><span class=ejs_scroll>Texte numero 1</span></a>';
ejs_scroll_message[1]='<a href=http://www.site.com/t2.htm><span class=ejs_scroll>Texte numero 2</span></a>';
ejs_scroll_message[2]='<a href=http://www.site.com/t3.htm><span class=ejs_scroll>Texte numero 3</span></a>';
  
function d(texte)  
{  
	document.write(texte);  
}  
d('<DIV ID=ejs_scroll_relativ STYLE="position:relative;width:'+ejs_scroll_largeur+';height:'+ejs_scroll_hauteur+';background-color:'+ejs_scroll_bgcolor+';background-image:url('+ejs_scroll_background+')">');  
d('<DIV ID=ejs_scroll_cadre STYLE="position:absolute;width:'+(ejs_scroll_largeur-8)+';height:'+(ejs_scroll_hauteur-8)+';top:4;left:4;clip:rect(0 '+(ejs_scroll_largeur-8)+' '+(ejs_scroll_hauteur-8)+' 0)">');  
d('<div id=ejs_scroller_1 style="position:absolute;width:'+(ejs_scroll_largeur-8)+';left:0;top:0;" CLASS=ejs_scroll>'+ejs_scroll_message[0]+'</DIV>');  
d('<div id=ejs_scroller_2 style="position:absolute;width:'+(ejs_scroll_largeur-8)+';left:0;top:'+ejs_scroll_hauteur+';" CLASS=ejs_scroll>'+ejs_scroll_message[1]+'</DIV>');  
d('</DIV></DIV>');  
  
ejs_scroll_mode =1;  
ejs_scroll_actuel = 0;  
  
function ejs_scroll_start()  
	{  
	if(ejs_scroll_mode == 1)  
		{  
		ejs_scroller_haut = "ejs_scroller_1";  
		ejs_scroller_bas = "ejs_scroller_2";  
		ejs_scroll_mode = 0;  
		}  
	else  
		{  
		ejs_scroller_bas = "ejs_scroller_1";  
		ejs_scroller_haut = "ejs_scroller_2";  
		ejs_scroll_mode = 1;  
		}  
	ejs_scroll_nb_message = ejs_scroll_message.length-1;  
	if(ejs_scroll_actuel == ejs_scroll_nb_message)  
		ejs_scroll_suivant = 0;  
	else  
		ejs_scroll_suivant = ejs_scroll_actuel+1;  
	if(document.getElementById)  
		document.getElementById(ejs_scroller_bas).innerHTML = ejs_scroll_message[ejs_scroll_suivant];  
	ejs_scroll_top = 0;  
	if(document.getElementById)  
		setTimeout("ejs_scroll_action()",ejs_scroll_pause_seconde*1000)  
	}  
  
function ejs_scroll_action()  
	{  
	ejs_scroll_top -= 1;  
	document.getElementById(ejs_scroller_haut).style.top = ejs_scroll_top;  
	document.getElementById(ejs_scroller_bas).style.top = ejs_scroll_top+ejs_scroll_hauteur;  
	if((ejs_scroll_top+ejs_scroll_hauteur) > 0)  
		setTimeout("ejs_scroll_action()",10)  
	else  
		ejs_scroll_stop()  
	}  
  
function ejs_scroll_stop()  
	{  
	ejs_scroll_actuel = ejs_scroll_suivant;  
	ejs_scroll_start()  
	}  
  
window.onload = ejs_scroll_start; 
//-->  
</script>
<!-- FIN DU SCRIPT -->


Merci d'avance pour votre aide.
Modifié par Athena (18 Dec 2010 - 16:58)