Remplacement d'un texte avec <div>
Puzzle_
Messages postés
9
Statut
Membre
-
Puzzle_ Messages postés 9 Statut Membre -
Puzzle_ Messages postés 9 Statut Membre -
Bonjour,
Remplacer un texte par un autre au survol d'un bouton se fait avec :
<img src="bouton.gif" onmouseover="document.getElementById('chg').innerHTML = 'Texte de remplacement';"
onmouseout="document.getElementById('chg').innerHTML = 'Texte par défaut';">
<div id="chg">Texte par défaut</div>
Les lignes suivantes me semblaient équivalentes :
<script> function ecrire() {document.write('Texte par défaut')} </script>
<img src="bouton.gif" onmouseover="document.getElementById('chg').innerHTML = 'Texte de remplacement';"
onmouseout="document.getElementById('chg').innerHTML = '<script>ecrire()</script>';">
<div id="chg"><script>ecrire()</script></div>
Or, 'Texte de remplacement' disparait bien mais n'est pas remplacé par 'Texte par défaut' lorsque la souris quitte le bouton. Je ne vois pourtant pas de différence de principe entre ces 2 versions...
'texte par défaut' est le résultat d'une fonction JavaScript de mon application, c'est pourquoi je dois utiliser cette forme.
Quelqu'un voit-il une explication ou une alternative ?
Merci et bonne année...
Remplacer un texte par un autre au survol d'un bouton se fait avec :
<img src="bouton.gif" onmouseover="document.getElementById('chg').innerHTML = 'Texte de remplacement';"
onmouseout="document.getElementById('chg').innerHTML = 'Texte par défaut';">
<div id="chg">Texte par défaut</div>
Les lignes suivantes me semblaient équivalentes :
<script> function ecrire() {document.write('Texte par défaut')} </script>
<img src="bouton.gif" onmouseover="document.getElementById('chg').innerHTML = 'Texte de remplacement';"
onmouseout="document.getElementById('chg').innerHTML = '<script>ecrire()</script>';">
<div id="chg"><script>ecrire()</script></div>
Or, 'Texte de remplacement' disparait bien mais n'est pas remplacé par 'Texte par défaut' lorsque la souris quitte le bouton. Je ne vois pourtant pas de différence de principe entre ces 2 versions...
'texte par défaut' est le résultat d'une fonction JavaScript de mon application, c'est pourquoi je dois utiliser cette forme.
Quelqu'un voit-il une explication ou une alternative ?
Merci et bonne année...
A voir également:
- Remplacement d'un texte avec <div>
- Remplacement coco - Accueil - Réseaux sociaux
- Coco.fr remplacement - Accueil - Réseaux sociaux
- Texte de chanson gratuit pdf - Télécharger - Vie quotidienne
- Mettre un texte en majuscule - Guide
- Transcription audio en texte word gratuit - Guide
3 réponses
Ce n'est pas la bonne facon de procéder car d'un coté tu as ta fonction qui écrit, et en marquant :
tu demande à ce que le résultat de ton script s'affiche dans ta DIV;
Or qu'est réellement le résultat de ta fonction ? Rien car elle ne retoure rien !
Ce qu'il faut que tu marque pour ta fonction c'est :
Ainsi ca devrait beaucoup mieux fonctionner.
document.getElementById('chg').innerHTML = '<script>ecrire()</script>';">
tu demande à ce que le résultat de ton script s'affiche dans ta DIV;
Or qu'est réellement le résultat de ta fonction ? Rien car elle ne retoure rien !
Ce qu'il faut que tu marque pour ta fonction c'est :
function ecrire() { return 'Texte par défaut'; }
Ainsi ca devrait beaucoup mieux fonctionner.
oui en fait, j'ai pas testé, mais je pense que dans ton div, il s'écrit alors littéralement "<script>ecrire()</script>"...
Le code n'est pas executé il prend ça comme une simple chaine de caractère !
Il faut en effet faire quelque chose comme :
où getMonTexte est une fonction retournant une chaine :
Le code n'est pas executé il prend ça comme une simple chaine de caractère !
Il faut en effet faire quelque chose comme :
document.getElementById('chg').innerHTML = getMonTexte()
où getMonTexte est une fonction retournant une chaine :
function getMonTexte()
{
return "La chaine que tu veux afficher";
}