voilà, je veux faire comme les grands et ne plus développer qu'en XHTML ( transitional pour l'instant quand même ... )
Je souhaite intégrer un texte déroulant, dont voici le code ( c'est un fichier html tout prêt )
------------------------------------------------
Code : Tout sélectionner
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<title>test scroll</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<style type="text/css">
body { text-align: left; font-size: 16px; margin: 2ex; color: #000000; background-color:#88DD88; font-family: verdana, sans, arial, helvetica, sans-serif;}
.scroll { font-size:14px; font-family:Arial; color:#FFFFFF;}
</style>
</head>
<body>
<script language="JavaScript1.2" type="text/javascript">
<!--
scroll_largeur = 200;
scroll_hauteur = 90;
scroll_bgcolor = '';
scroll_pause_seconde = 2;
scroll_mode =1;
scroll_actuel = 0;
scroll_article = new Array;
scroll_article[0]="<strong>Mon premier paragraphe<\/strong><br \/>xxxxxxxxxxxxxxxx xxxxx x xxxx xxxxx xxxxxxxxxx xxxxxxx ...<br \/>";
scroll_article[1]="<strong>Mon deuxième paragraphe<\/strong><br \/>yyyyy yyyyy y yyyyyyyyyy yy yyyyyyyyy yyyy yyyyyyy yy yyyyyyyy...<br \/>";
scroll_article[2]="<strong>Mon troisième paragraphe<\/strong><br \/>zzzzzzz zzzzzzz zz zzzzzzzz zzz zzzzzzzzz z zzzzzzzz z ...<br \/>";
function d(texte){
document.write(texte);
}
function scroll_start() {
if(scroll_mode == 1){
scroller_haut = "s_articles_1";
scroller_bas = "s_articles_2";
scroll_mode = 0;
}else{
scroller_bas = "s_articles_1";
scroller_haut = "s_articles_2";
scroll_mode = 1;
}
scroll_nb_message = scroll_article.length-1;
if(scroll_actuel == scroll_nb_message){
scroll_suivant = 0;
}else{
scroll_suivant = scroll_actuel+1;
}
if(document.getElementById)
document.getElementById(scroller_bas).innerHTML = scroll_article[scroll_suivant];
scroll_top = 0;
if(document.getElementById)
setTimeout("scroll_action()",scroll_pause_seconde*1000)
}
function scroll_action(){
scroll_top -= 1;
document.getElementById(scroller_haut).style.top = scroll_top;
document.getElementById(scroller_bas).style.top = scroll_top+scroll_hauteur;
if((scroll_top+scroll_hauteur) > 0){
setTimeout("scroll_action()",10)
}else{
scroll_stop()
}
}
function scroll_stop(){
scroll_actuel = scroll_suivant;
scroll_start()
}
d('<div id="scroll_relativ" style="position:relative;width:'+scroll_largeur+';height:'+scroll_hauteur+';background-color:'+scroll_bgcolor+'">');
d('<div id="scroll_cadre" style="position:absolute;width:'+(scroll_largeur-8)+';height:'+(scroll_hauteur-8)+';top:4;left:4;clip:rect(0 '+(scroll_largeur-8)+' '+(scroll_hauteur-8)+' 0)">');
d('<div id="s_articles_1" style="position:absolute;width:'+(scroll_largeur-8)+';left:0;top:0;" class="scroll">'+scroll_article[0]+'<\/div>');
d('<div id="s_articles_2" style="position:absolute;width:'+(scroll_largeur-8)+';left:0;top:'+scroll_hauteur+';" class="scroll">'+scroll_article[1]+'<\/div>');
d('<\/div><\/div>');
window.onload = scroll_start;
-->
</script>
</body>
</html>
Notez que le code VALIDE en XHTML 1.0 trans.
Dans Moz ( Firebird 6.0.1 ) ça affiche un charabia incompréhensible.
Dans IE 5.5 ( bon OK c'est un mauvais exemple ;-) ) ça marche au poil
Et maintenant le plus fort: supprimez le doctype, et Mozilla l'affiche parfaitement !!! Alors que le document est censé être valide !
une idée ?