Bonjour.
Comme c'est mon premier post sur ce forum, laissez-moi me présenter brièvement. Je rentre en cinquième année à l'école d'architecture de Marseille. Je suis en ce moment en stage dans une agence d'architecture, et comme j'ai des bases en DHTML, mon patron m'a proposé de réaliser son site internet. En ce qui concerne le XHTML et le CSS, pas de problème (pour l'instant!), mais je suis débutant en Javascript, et je rencontre quelques difficultés.
Ce qui m'amène au sujet du post proprement dit.
Je voudrais réaliser une petite animation en JS sur un div qui contient du texte. L'idée est simple: changer le contenu du div (via la méthode document.getElementById().innerHTML) un nombre donné de fois, en utilisant la méthode setTimeout().
Voici le code. Vous noterez que la syntaxe de la fonction textMorph() est tout ce qu'il y a de plus fausse (c'est précisément mon problème):
J'ai lu un certain nombre de tutoriels sans bien comprendre comment déboguer mon code. Je me doute qu'il y a un problème de portée des variables.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27 function textMorph_frame(Element,OldString,NewString,Stage,Iterations) { var buffer = ""; for (i = 0; i < NewString.length; i++) { buffer = buffer + String.fromCharCode(parseInt(((NewString.charCodeAt(i)*Stage)+(OldString.charCodeAt(i)*(Iterations-Stage)))/Iterations)); } document.getElementById(Element).innerHTML = buffer; } function textMorph(Element,OldString,NewString,Iterations,Delay) { textMorph_frame(Element,OldString,NewString,1,Iterations); for (i = 2; i <= Iterations; i++) { setTimeout(textMorph_frame(Element,OldString,NewString,i,Iterations),Delay) } }
Merci de me répondre.
Partager