[Javascript] On unload= je cherche une fonction pour le faire attendre

On unload= je cherche une fonction pour le faire attendre [Javascript] - Programmation

Marsh Posté le 29-05-2001 à 23:36:36    

A peu pres tout est dans le titre !
 
J'ai des effets de transition en javascript dans mes pages et je voudrais que quand on clique sur un lien la page ne bouge pas pendant quelques secondes...
 
Siwouplê !
 
A+

Reply

Marsh Posté le 29-05-2001 à 23:36:36   

Reply

Marsh Posté le 30-05-2001 à 00:13:04    

setTimeout("mafonction()",5000)
cinq seconde pour la fonction

Reply

Marsh Posté le 30-05-2001 à 09:55:32    

et wait()... ca marche pas ? enfin, ca existe peut etre pas :D


---------------
"C'est le boulot qu'on ne commence jamais qui est le plus long à terminer"
Reply

Marsh Posté le 31-05-2001 à 14:44:19    

Ca marche pas !
 
Si dans le body je met :
 
OnUnLoad="setTimeout("mafonction",1000)"
 
soit ca me bloque completement la page pendant quelques secondes soit ca fait rien du tout !
 
de plus je voudrais pouvoir mettre des " dans ma fonction mais je sais pas trop comment ce que ca donne avec les autres ".

Reply

Marsh Posté le 31-05-2001 à 14:50:13    

Et si tu lances ta fonction de transition sur onUnload ?
 
Pour les ", tu dois faire de joyeuses combinaisons entre " et '
C'est la même chose en JavaScript


---------------
Dans le monde, il n'y a que 10 sortes de personnes : ceux qui savent compter en binaire et ceux qui ne savent pas
Reply

Marsh Posté le 31-05-2001 à 15:01:16    

esaie de faire :

Code :
  1. OnUnLoad="javascript:setTimeout('mafonction',1000);"

Reply

Marsh Posté le 31-05-2001 à 16:58:21    

Je vous explique plus en détail.
 
Voila ma fonction :
function Blend(obj, durblend)
 {
 if (durblend<=0) durblend=5;
 obj.style.filter='blendtrans(duration=' + durblend + ')';
 obj.filters[0].Apply();
 if (obj.style.visibility=='')
  {
  obj.style.visibility='hidden';
  }
 else
  {
  obj.style.visibility='';
  }
 obj.filters[0].Play();
 }
 
en parametre je passe l'id de mon div et la durée de la transition. Ca marche Nickel sur le Onload mais sur le Onunload ca marche pas car le filtre n'a pas le temps de passer.
 
donc je cherche à mettre dans le Onunload du body de ma page ma fonction Blend(truc,6) avec une fonction lui disant de ne pas changer de page avant quelques secondes.
 
Or soit je n'utilise pas la fonction setTimeout correctement soit ce n'est pas cette fonction qui convient.
 
J'ai essayé :
 
OnUnLoad="javascript:setTimeout('mafonction',1000);"  
OnUnLoad="setTimeout('mafonction',1000)"
OnUnLoad="setTimeout(mafonction,1000)"
OnUnLoad="mafonction"
et pas mal d'autres truc...
 
Ou est l'erreur ?!?!?
 
A+

Reply

Marsh Posté le 31-05-2001 à 17:07:26    

ha oui forcement c pas ça.
là avec le setTimeout, en fait il attends 1000ms, puis execute ta fonction... ça revient aau meme que d'essayer de la lancer directement au onUnload ...
peut etre en faisant :
onUnload="javascript:fonction();"
 
et dans fonction :

Code :
  1. function fonction()
  2. {
  3.     blend(truc,6);
  4.     setTimeout(null,10000); // bon là j'ai mis 10 sec, si ça marche reduit le tps !
  5. }


ça marchera peut etre ?

Reply

Marsh Posté le 31-05-2001 à 19:34:09    

Ok, ca commence à tourner !
 
Le pb c'est que le null il en veut pas...
 
Si je met un alert('truc') c'est bon mais ca risque d'etre fastidieux pour la navigation hehe ...
 
Je peux mettre quoi à la place ?

Reply

Marsh Posté le 31-05-2001 à 20:21:50    

tu mets une connerie genre document.background=tonbackground ou document.bgcolor=tacouleur ...
ou alors tu fais appel a la fonction temps(x);
 
function temps(var x)
{
   for(j=1;j<=x;j++)
   {
   for(i=1;i<=100000;i++) pertedetempssupplementaire=(i²*36.231)
   }
}
 
normalement ca met suffisament de temps a se faire et ca te fait un delai....; en tout cas ca march e en c...
 
@++


---------------
Do you serve a purpose,Or purposely serve?
Reply

Marsh Posté le 31-05-2001 à 20:21:50   

Reply

Marsh Posté le 31-05-2001 à 20:41:46    

Mon ordi serait trop rapide ? non je pense pas :-(
 
En tout cas en Jscript bas ca marche pas !

Reply

Marsh Posté le 31-05-2001 à 21:11:14    

Ouais, ben le javascript déjà y tourne pas à la même vitesse sous Netscape et sous Internet explorer/ Je suis obligé de mettre des timers sous i.e. pour les ralentir, et de faire une version Netscape sans car ca rame à mort...
Alors essaye ton script sous les deux...

Reply

Marsh Posté le 01-06-2001 à 01:28:54    

Et comment on les met les timers ?
 
Personne n'utilise la fonction OnUnLoad ?
 
Ca peut pourtant avoir un résultat sympa !!
 
Help svp !

Reply

Marsh Posté le 01-06-2001 à 01:30:38    

En fait dans la fonction si je met une durée différente de 1000ms ca marche pas ?!? meme avec un alert('...')
 
sniff...

Reply

Marsh Posté le 01-06-2001 à 07:53:34    

t'as essayé ça:
 
function vide(){}
 
function fonction()
{
    blend(truc,6);
    setTimeout(vide,100000); // bon là j'ai mis 100 sec, si ça marche reduit le tps !
}


---------------
http://www.cheata.net le site qui vous donne la banane!
Reply

Marsh Posté le 01-06-2001 à 21:15:46    

Ca marche poa...
 
C'est vraiment zarb cette fonction...

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed