11548 sujets

JavaScript, DOM et API Web HTML5

Bonjour,

Ceci est mon premier message sur ce site que j'apprécie et qui m'aide beaucoup.

Réalisant actuellement un site japonais, je souhaite faire un roll-over de texte français / japonais (texte français au départ, texte japonais sur un mouseover, texte français sur un mouseout).

Après avoir utilisé une fonction javascript, je me suis aperçu qu'elle fonctionnait sous IE mais qu'elle plantait Netscape.

Grâce à des exemples trouvés sur ce forum, j'ai pu écrire une fonction qui fonctionne toujours parfaitement sous IE mais qui ne marche qu'à moitié sous Netcape. En effet, sous Netscape, seul le premier mouseover fonctionne mais pas le mouseout (le texte reste en japonais).

Si quelqu'un avait une idée, je lui en serais très reconnaissant.

Voici le code :

<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">

<script>

function changeOnMouseOver(){
	f = document.getElementById('menu');
	f.getElementsByTagName('a')[0].innerHTML="ƒz?[ƒ€";}

function changeOnMouseOut(){
	f = document.getElementById('menu');
	f.getElementsByTagName('a')[0].innerHTML="Index";}

</script>

</head>

<body bgcolor="#FFFFFF" text="#000000">

<br>
<br>
<div id="menu" name="a"> 
<a href="#" onClick="" onMouseOver="changeOnMouseOver()"
onMouseOut="changeOnMouseOut()">Index</a>
</div>

</body>
</html>

Modifié par shogun (24 Aug 2005 - 07:17)
Dans quoi est placé ton texte?
Est ce que tu pourrais expliquer tes 2 fonctions?

Moi je pense que le plus simple serait d'utiliser du php avec ton texte dans une variable ou dans un base de données que tu appelerais en fonction de l'action. Et je te conseille également de plutot utiliser le classique double drapeau où l'utilisateur choisit la langue.

Parce que n'oublie pas que le javascript ne doit qu'apporter un plus et ne doit pas être une obligation. Certains le désactivent et donc ton site ne sera visible alors qu'en français et ça te fera des visiteurs en moins et ton site perdra surement de son intéret (c'est un site sur quoi?)
Merci pour t'être intéressé au sujet en plein mois d'août... et pardon de te répondre tardivement mais je suis parti quelques jours à la campagne sans internet.

Et, miracle, j'ai trouvé tout seul comme un grand !

Voici le code qui fonctionne sous IE et NS Smiley biggrin :


<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=Shift-JIS">

<title>Rollover sur du texte</title>

<SCRIPT LANGUAGE="JavaScript">

function rollover_J() {	
  document.getElementById("roll").innerHTML="<div id='roll'><a href='#' onmouseout='rollover_F();'>ƒz?[ƒ€</a></div>";
}

function rollover_F() {	
  document.getElementById("roll").innerHTML="<div id='roll'><a href='#' onmouseover='rollover_J();'>Accueil</a></div>";
}
</SCRIPT>

</head>

<body bgcolor="#FFFFFF">

<div id="roll"><A href="#" onmouseover="rollover_J()">Accueil</A></div>

</body>
</html>


L'utilité de ce script est un peu spéciale. Il s'agit en fait d'afficher pour des japonais un texte en français (car ils adorent cela Smiley ravi ) tout en leur permettant par un rollover de voir la traduction du lien en japonais.

Il aurait bien sûr été possible de faire un rollover classique d'images mais le texte aurait été beaucoup moins lisible.
Bonjour, c'est intéressant comme principe ; où pouvous-nous voir le résultat ? Smiley smile

J'en vois une autre application pour la surdité : afficher un "signe" LSF sur le survol du mot concerné...
Modifié par stefhan (18 May 2006 - 13:10)