Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1329 connectés 

  FORUM HardWare.fr
  Programmation

  [JavaScript]besoin d'aide, rien ne fonctionne...

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[JavaScript]besoin d'aide, rien ne fonctionne...

n°138664
helvetik
Posté le 14-05-2002 à 15:02:25  profilanswer
 

Voilà un bou de code. C'est sensé faire clignoter du texte dans une textbox:
function affiche()
{
  var i2,i, v_rl=100000;
  for (i2=0;i2<5;i2++)
  {      
    document.form_1.affiche.value="";    
    cadence(100000);
    document.form_1.affiche.value="hello";    
    cadence(100000);    
  }
}    
function cadence(v_rl)
{
  var i;
  for (i=0;i<v_rl;i++);
}
function ajoute_delai()
{
  affiche();
  //...
}
<form name=form_1>
<INPUT TYPE="button" NAME="envoi_delai" VALUE="Delai" ONCLICK="ajoute_delai();">  
<INPUT TYPE="text" NAME="affiche" VALUE="" >
</form>

 
C'est vraiment une fonction tout con, mais apparement ca ne fonctionne po, ca attend, mais ca n'affiche rien dans la textbox. Bref, si vous pouvez jeter un oeil pour m'aider un peut, ce serais cool.
A+


---------------
---helvetik---
mood
Publicité
Posté le 14-05-2002 à 15:02:25  profilanswer
 

n°138668
gwen2709
Posté le 14-05-2002 à 15:07:36  profilanswer
 

ta fonction cadence ne fait rien !
regarde ta boucle FOR car ya pas d'instruction dedans.............lol

n°138670
helvetik
Posté le 14-05-2002 à 15:08:40  profilanswer
 

gwen2709 a écrit a écrit :

ta fonction cadence ne fait rien !
regarde ta boucle FOR car ya pas d'instruction dedans.............lol  




 
c le but de cadence....faire une simple pose...
je sais ki y'a rien dedant...  :pt1cable:


---------------
---helvetik---
n°138680
gwen2709
Posté le 14-05-2002 à 15:15:19  profilanswer
 

helvetik a écrit a écrit :

 
 
c le but de cadence....faire une simple pose...
je sais ki y'a rien dedant...  :pt1cable:  




 
excuse moi mais regarde un peu ta fonction, elle fait juste q de compter de 0 à 100000,on est d'accord!
mais avec un 486dx tu va voir clignoter ton texte mais sur un PII(et sup) tu verras quedal car il calcul trop vite!
la solution à ton problème est d'utiliser la fonction setTimeout()....
 
@ toi de voir

n°138688
helvetik
Posté le 14-05-2002 à 15:24:44  profilanswer
 

gwen2709 a écrit a écrit :

 
 
excuse moi mais regarde un peu ta fonction, elle fait juste q de compter de 0 à 100000,on est d'accord!
mais avec un 486dx tu va voir clignoter ton texte mais sur un PII(et sup) tu verras quedal car il calcul trop vite!
la solution à ton problème est d'utiliser la fonction setTimeout()....
 
@ toi de voir  




voui, je suis au courant de ce problème. Mais si je le fait c parceke je sais ke je vais utiliser ce programme ke sur des k62-400MHz !
je connais aussi setTimeout et setinterval (ki serais encore plus pratique dans ce ka la..), mais dans mon cas, je voulais utiliser cette foutu boucle for, car ca me simplifierrait la vie...
Bref, est-ce ke tu sais pourkoi ca ne fonctionne pas?


---------------
---helvetik---
n°138691
gwen2709
Posté le 14-05-2002 à 15:32:34  profilanswer
 

ton script fonctionne tres bien mais on ne voit rien à l'affichage et quand j'augmente le compteur, ça ralentit dur dur...
 
je viens de le tester en debug  :hello:

 

[jfdsdjhfuetppo]--Message édité par gwen2709 le 14-05-2002 à 15:34:11--[/jfdsdjhfuetppo]

n°138711
helvetik
Posté le 14-05-2002 à 15:48:17  profilanswer
 

gwen2709 a écrit a écrit :

ton script fonctionne tres bien mais on ne voit rien à l'affichage et quand j'augmente le compteur, ça ralentit dur dur...
 
je viens de le tester en debug  :hello:  
 
 




vi, j'arrive au meme résultat.
c bizard.
si tu mets des message box après chaque affichage, on voit ke ca affiche bien, mais sans elle, on voit ke dalle.
c bien ca ki m'enerve.


---------------
---helvetik---
n°138715
gwen2709
Posté le 14-05-2002 à 15:53:19  profilanswer
 

bah pour moi il fo utiliser le setTimeout() qui sera vraiment identik sur chq bécane !

n°138724
helvetik
Posté le 14-05-2002 à 16:09:31  profilanswer
 

gwen2709 a écrit a écrit :

bah pour moi il fo utiliser le setTimeout() qui sera vraiment identik sur chq bécane !  




oui, mais setTimeout(); appel une autre fonction:
syntax: setTimeout(fonction,temps,argument);
je ne sais pas comment je pourrais l'utiliser dans le cas présent, car, le problem de setTimeout(); c ke kan j'appel une autre fonction, il continue aussi celle depuis ou on l'a appelé... attend, je te donne un exemple:
function start1()
{
  alert("1" );
  setTimeout(pause,2000); //j'appel pause dans 2 secondes, je  
                          //met pas d'arguement
  alert("3" );
}
function pause()
{
  alert("2" );
}
 
<form name=form_1>  
<INPUT TYPE="button" NAME="start" VALUE="Delai" ONCLICK="start1();">  
</form>

 
 
En théorie, avec une fonction "normale", on aurait à l'écran 1, après 2secondes 2 et 3 dans des msgbox, mais en fait, si tu teste le code, tu auras 1, 3 et après 2seconde, 2
 
Tu vois un peux le problème?

 

[jfdsdjhfuetppo]--Message édité par helvetik le 14-05-2002 à 16:23:55--[/jfdsdjhfuetppo]


---------------
---helvetik---
n°138731
helvetik
Posté le 14-05-2002 à 16:16:27  profilanswer
 

De plus, j'aimerais pouvoir arréter kan je veux le clignotement de mon texte, et j'arrive po faire fonctionner cette foutu fonction clearTimeout() et clearInterval()
 :cry:


---------------
---helvetik---
mood
Publicité
Posté le 14-05-2002 à 16:16:27  profilanswer
 

n°138741
gwen2709
Posté le 14-05-2002 à 16:35:18  profilanswer
 

ça c'est branleur com prog mais ça fonctionne tres bien!
 
tu détermines le nombre de fois ou tu veux afficher HELLO dans la fonction STOP : ici, on affiche deux fois HELLO OK?

<HTML>
<HEAD>
<META NAME="GENERATOR" Content="Microsoft Visual Studio 6.0">
<TITLE></TITLE>
 
<script language="javascript">
var cpt=0;  
function affiche()
{
 document.form_1.affiche.value="";
  cpt++;
  if (stop(cpt)) return;
  else setTimeout(pause,500);
}
     
function pause()
{
 document.form_1.affiche.value="HELLO";    
 setTimeout(affiche,500);
}
function stop(cpt)
{
 if (cpt==3) return true;
}
function ajoute_delai()
{
 affiche();
}
</script>
 
</HEAD>
<BODY>
<form name=form_1>
<BR><INPUT TYPE="button" NAME="envoi_delai" VALUE="Delai" ONCLICK="ajoute_delai();">
<BR><INPUT TYPE="text" NAME="affiche" VALUE="">
<BR>
</form>
 
</BODY>
</HTML>

 

[jfdsdjhfuetppo]--Message édité par gwen2709 le 14-05-2002 à 17:01:18--[/jfdsdjhfuetppo]

n°138841
helvetik
Posté le 14-05-2002 à 19:43:57  profilanswer
 

c bizard, avec ce code, la premier fois ke tu clique sur le bouton delai, ça clignote 2x, et la deuxieme fois ke tu clik, ben ca s'arrete plus...
t'as du oublier de remettre a 0 une variable, je vais étudier ca, merci.
 
edit: voui, c dans ta fonction affiche(), fo remettre cpt à 0

 

[jfdsdjhfuetppo]--Message édité par helvetik le 14-05-2002 à 20:09:53--[/jfdsdjhfuetppo]


---------------
---helvetik---
n°138857
helvetik
Posté le 14-05-2002 à 20:07:01  profilanswer
 

je pige pas pourkoi tu utilise ce return:
 
if (stop(cpt))  
return;
 
si tu met cpt=0; à la place, ca fonctionne mieux

 

[jfdsdjhfuetppo]--Message édité par helvetik le 14-05-2002 à 20:09:18--[/jfdsdjhfuetppo]


---------------
---helvetik---
n°138993
helvetik
Posté le 15-05-2002 à 08:02:19  profilanswer
 

Bon, maintenant, je hausse un peu le nivo de l'exercice. Fo ke ca arrête de clignoter dans un temps voulu en seconde. Avec le code ke tu m'as pondu hier, ca risk de pas être évident...  :sweat:


---------------
---helvetik---
n°138999
gwen2709
Posté le 15-05-2002 à 08:57:49  profilanswer
 

helvetik a écrit a écrit :

Bon, maintenant, je hausse un peu le nivo de l'exercice. Fo ke ca arrête de clignoter dans un temps voulu en seconde. Avec le code ke tu m'as pondu hier, ca risk de pas être évident...  :sweat:  




 
attends, je débarque!

n°139001
gwen2709
Posté le 15-05-2002 à 08:59:14  profilanswer
 

avec ce que je t'ai mis hier, le temps de clignotement est de 2x (500ms+500ms) ki donne 2 sec Nan?

 

[jfdsdjhfuetppo]--Message édité par gwen2709 le 15-05-2002 à 08:59:50--[/jfdsdjhfuetppo]

n°139002
helvetik
Posté le 15-05-2002 à 09:00:11  profilanswer
 

gwen2709 a écrit a écrit :

 
 
attends, je débarque!  




 
y'a plusieurs solution, on peut utiliser l'horloge system, mais je vois pas comment faire.
Ou alors si je cligote  à une fréquence de 500 ms, fo clignoter 20 fois pour 10 secondes...


---------------
---helvetik---
n°139003
helvetik
Posté le 15-05-2002 à 09:01:29  profilanswer
 

gwen2709 a écrit a écrit :

avec ce que je t'ai mis hier, le temps de clignotement est de 2x (500ms+500ms) ki donne 2 sec Nan?  
 
 




merde, grilled pour 20seconde
Oui, c ce ke je pensais aussi mais bon..


---------------
---helvetik---
n°139005
gwen2709
Posté le 15-05-2002 à 09:04:30  profilanswer
 

helvetik a écrit a écrit :

 
merde, grilled pour 20seconde
Oui, c ce ke je pensais aussi mais bon..  




 
avec la boucle que l'on a fait, on sait qu'il faut mettre (n+1) dans cette boucle pour avoir n tour,on est OK là dessus.
Donc après il faut jouer sur ce nombre pour avoir un clignotement de x secondes.
En conclusion, il faut mettre 21 dans la boucle pour qu'il clignote 20sec OK????

 

[jfdsdjhfuetppo]--Message édité par gwen2709 le 15-05-2002 à 09:33:07--[/jfdsdjhfuetppo]

n°139007
helvetik
Posté le 15-05-2002 à 09:10:51  profilanswer
 

ouais vouais, jusque là, j'avais capté.


---------------
---helvetik---
n°139008
gwen2709
Posté le 15-05-2002 à 09:11:19  profilanswer
 

J'ai rectifié mon truc pour q ça marche à chq fois :
<script language="javascript">
var cpt=0;  
function affiche()
{
 document.form_1.affiche.value="";
  cpt++;
  if (stop(cpt)) {cpt=0;return;}
  else setTimeout(pause,500);
}
     
function pause()
{
 document.form_1.affiche.value="HELLO";    
 setTimeout(affiche,500);
}
function stop(cpt)
{
 if (cpt==3) return true;
}
function ajoute_delai()
{
 affiche();
}

 
le return sert à sortir de la fonction lorsque on atteint le nombre de fois q l'on a défini dans notre cpt!

n°139015
helvetik
Posté le 15-05-2002 à 09:20:35  profilanswer
 

gwen2709 a écrit a écrit :

le return sert à sortir de la fonction lorsque on atteint le nombre de fois q l'on a défini dans notre cpt!  




 
ben la il sert a rien ton return puis ke si on est passé dans le if, on passera pas dans le else, et ce dernier est la dernière instruction de la fonction.
 
Mais bon...
 
Pour l'instant g un problem pour faire passer des paramètres avec la fonction settimeout...


---------------
---helvetik---
n°139021
gwen2709
Posté le 15-05-2002 à 09:28:37  profilanswer
 

je te parlais de l'autre return dans la fonction STOP mais c vrai q l'autre ne sert à rien....
 
c koi le PB avec setTimeout()???

n°139031
helvetik
Posté le 15-05-2002 à 09:34:16  profilanswer
 

gwen2709 a écrit a écrit :

je te parlais de l'autre return dans la fonction STOP mais c vrai q l'autre ne sert à rien....
 
c koi le PB avec setTimeout()???  




bof, tant pis, j'utilise plus les paramètre, mais une variable global... attend 5min ke je finisse et je te passe le code.
 :hello:


---------------
---helvetik---
n°139045
helvetik
Posté le 15-05-2002 à 09:46:06  profilanswer
 

helvetik a écrit a écrit :

Citation :

<HTML>
<HEAD>
<TITLE></TITLE>
<script language="javascript">
  var cpt=0, speed=500,v_delai;
  function affiche()
  {
    document.form_1.affiche.value="";
    cpt++;
    if (stop(cpt))  //permet de s'arreter  
   cpt=0;
    else  
   setTimeout(pause,speed);
  }    
  function pause()
  {
    document.form_1.affiche.value="HELLO";    
    setTimeout(affiche,speed);
  }  
  function stop(cpt)
  {
    if (cpt==v_delai)  
   return true;
  }  
  function ajoute_delai(form_1)
  {
    v_delai=(document.form_1.delai.value*2)+1;
    affiche();
  }
</script>
 
 
</HEAD>
<BODY>
<form name=form_1>
<BR><INPUT TYPE="text" NAME="affiche" VALUE="">
<BR>
<BR>Entrez delai<INPUT TYPE="text" NAME="delai" VALUE="" ONCHANGE="ajoute_delai(this);">
 
</form>
 
</BODY>
</HTML>


 
Voila  
 
Le *2 que g mis en gras dans le code n'est meme pas nécesaire car on incrémente cpt que quand le text est afficher et pas quand il est effacé.....
bon, ben merci
 




---------------
---helvetik---
n°139046
gwen2709
Posté le 15-05-2002 à 09:47:29  profilanswer
 

ok ça roule

mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation

  [JavaScript]besoin d'aide, rien ne fonctionne...

 

Sujets relatifs
JAVASCRIPT + ActiveX ???[Weblogic] Le topic d'entre aide
[javascript] HELP[PHP] besoin d'information....
javascript: comment fermer une fenetre...[JavaScript] Intercepter la touche F5 ou empecher de réactualiser
[JavaScript]A par setInterval et setTimeout, existe t'il d'autre ....[VB] Urgent ... Dessiner un tableau sous Word à l'aide de VB6
[javascript] comment faire ce truc tout con...[VB] FTP et envoie d'email sans problèmes. Besoin de vous.
Plus de sujets relatifs à : [JavaScript]besoin d'aide, rien ne fonctionne...


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR