Je veux simplement faire un défilement de texte de haut en bas à l'aide d'un événement 'onmouseover' sur 2 boutons ( up et down ) afin d'éviter les effets disracieux d'une barre de scroll.
J'ai trouvé rapidement un script tout fait qui fort heureusement marche sur la plupart des navigateurs (Firefox, Safari, IE, Opera).
N'étant pas un développeur trés affirmé et n'étant pas familier du langage JavaScript (plutôt ActionScript 1 plus simple) je ne sais pas pourquoi Opera dans sa dernière version (9) interprète mal le code JavaScript utilisé alors que les versions précédentes (8.x) n'ont aucun problème avec (tout comme Firefox 1.x et IE 5-6, les vieux Netscape (6-7) ont eux de sérieux problèmes mais ils appartiennent maintenant aux antiquaires).
Code JavaScript (dans l'élément HTML 'head') :
et dans l'élément HTML body :
Sur Opera 9 cela ne donne rien de bon.
Je ne sais pas si ce sont les nouveautés de cette dernière version (version de JavaScript - ECMAScript ?) qui sont en cause.
Si quelqu'un a un indice ou un autre script pour faire plaisir à la plupart des utilisateurs.
Je suis toute ouïe
Modifié par Phil (21 Jul 2006 - 13:03)
J'ai trouvé rapidement un script tout fait qui fort heureusement marche sur la plupart des navigateurs (Firefox, Safari, IE, Opera).
N'étant pas un développeur trés affirmé et n'étant pas familier du langage JavaScript (plutôt ActionScript 1 plus simple) je ne sais pas pourquoi Opera dans sa dernière version (9) interprète mal le code JavaScript utilisé alors que les versions précédentes (8.x) n'ont aucun problème avec (tout comme Firefox 1.x et IE 5-6, les vieux Netscape (6-7) ont eux de sérieux problèmes mais ils appartiennent maintenant aux antiquaires).
Code JavaScript (dans l'élément HTML 'head') :
<script language="javascript">
var Timer;
var Pas = 3;
function moveLayer(Sens)
{
if(document.getElementById)
Objet = document.getElementById("Contenu");
else
Objet = document.all["Contenu"];
if(parseInt(Objet.style.top) + (3*Sens) > 0)
Objet.style.top = "0px";
else
Objet.style.top = (parseInt(Objet.style.top) + (3*Sens)) + "px";
Timer = setTimeout("moveLayer(" + Sens + ");", 50);
}
</script>
et dans l'élément HTML body :
<div id="Support" style="position:relative;width:250;height:150px;overflow:hidden;border:1px solid #000000">
<div id="Contenu" style="position:absolute;width:250;height:150px;left:0;top:0">
bla<br>
bla<br>
bla<br>
bla<br>
bla<br>
bla<br>
bla<br>
bla<br>
bla<br>
bla<br>
bla<br>
bla<br>
</div>
</div>
<a href="" onmouseover="javascript:moveLayer(1);" onmouseout="javascript:clearTimeout(Timer);">Haut</a>
<a href="" onmouseover="javascript:moveLayer(-1);" onmouseout="javascript:clearTimeout(Timer);">Bas</a>
Sur Opera 9 cela ne donne rien de bon.
Je ne sais pas si ce sont les nouveautés de cette dernière version (version de JavaScript - ECMAScript ?) qui sont en cause.
Si quelqu'un a un indice ou un autre script pour faire plaisir à la plupart des utilisateurs.
Je suis toute ouïe

Modifié par Phil (21 Jul 2006 - 13:03)