Je viens vous poser une question : j'utilise un script qui écrit du texte lettre par lettre et j'ai rajouté des balises html dedans dont des liens. Et liens fonctionnent mais seulement après plusieurs cliques. Puis-je faire quelque chose?
malgré que tout le texte soit affiché, ton script continue de tourner.
Utilise la longueur du tableau dans lequel tu as enregistré le texte pour que quand tout est affiché tu arrêtes l'appel de la fonction setInterval("changeMessage()",100).
Après tel quel, tu seras obligé d'attendre la fin du script pour que les liens soient correctement cliquables si je puis dire, à cause du innerHtml qui recharge à chaque caractère le contenu de ton bloc.
function changeMessage()
{
document.getElementById("bloc").innerHTML = texte[actual_texte];
actual_texte++;
if(actual_texte >= texte.length)
actual_texte = nb_msg;
clearInterval(loop)
}
if(document.getElementById){
var loop = setInterval("changeMessage()",100) //enregistre le intervalID pour l'utiliser dans le clearInterval
};
<section>
<div id="bloc"></div>
<script>
var chaine = "<p>C:\\user\\Lycée_Générale_Technologique\\Notre_Dame> Sciences de l'Ingénieur (SI)</p><p>Bienvenue !</p><p>Vous ne savez pas ce qu'est \"Course en cours\", rendez-vous dans la rubrique <a href=\"course_cours.php\" class=\"page\">\"Course en Cours\"</a></p><p>Pour connaître les équipes du lycée, rendez-vous dans la rubrique <a href=\"equipes.php\" class=\"page\">\"Equipe\"</a></p>";
var nb_car = chaine.length;
var tableau = chaine.split("");
texte = new Array;
var txt = '';
var nb_msg = nb_car - 1;
for (i=0; i<nb_car; i++) {
texte[i] = txt+tableau[i];
var txt = texte[i];
}
actual_texte = 0;
function changeMessage()
{
document.getElementById("bloc").innerHTML = texte[actual_texte];
actual_texte++;
if(actual_texte >= texte.length)
actual_texte = nb_msg;
clearInterval(loop)
}
if(document.getElementById){
var loop = setInterval("changeMessage()",100) //enregistre le intervalID pour l'utiliser dans le clearInterval
};
/*
bouton = document.getElementById('button_1');
bouton.onclick = function resultat()
{
document.getElementById('resultat_fonctionnement').innerHTML="<p>resultat</p>"
};
*/
</script>
</section>
function changeMessage()
{
document.getElementById("bloc").innerHTML = texte[actual_texte];
actual_texte++;
if(actual_texte >= texte.length)
actual_texte = nb_msg;
if(actual_texte>nb_car)
clearInterval(loop)
}
if(document.getElementById){
var loop = setInterval("changeMessage()",100) //enregistre le intervalID pour l'utiliser dans le clearInterval
};
Je l'ai enlevé et j'ai uploadé mais à la fin de l'écriture, cela affiche "undefined" donc ces lignes sont nécessaires sauf si vous avez un moyen de pallier à cette erreur.
function changeMessage()
{
document.getElementById("bloc").innerHTML = texte[actual_texte];
actual_texte++;
if(actual_texte>=nb_car)
clearInterval(loop)
}
if(document.getElementById){
var loop = setInterval("changeMessage()",100) //enregistre le intervalID pour l'utiliser dans le clearInterval
};
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
aller ça devrait le faire maintenant