IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

[javascript]mon script ralentit IE


Sujet :

JavaScript

  1. #1
    Membre actif
    Inscrit en
    Février 2007
    Messages
    406
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 406
    Points : 207
    Points
    207
    Par défaut [javascript]mon script ralentit IE
    salut à tous,
    voila,j'ai créé un script(c'est pour un jeu que j'ai pas encore terminé) au debut tout fonctionne bien mais aprés qq temp il m'affiche le msg suivant me demandant d'arrêter mon script:
    "un script présent sur cette page ralenti Internet Explorer. s'il continue, votre ordinateur risque de cesser de réagir."
    ce qui m'étonne c'est qu'il se bloque quand il execute une boucle au bout de la 4ieme répetition...
    avez des conseilles a me donner pour eviter ce genre de probleme??
    merci d'avance pr votre aide

  2. #2
    Membre régulier Avatar de soumou
    Inscrit en
    Juin 2005
    Messages
    208
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 208
    Points : 102
    Points
    102
    Par défaut
    Bonjour,
    pourrais tu poster le petit morceau du code quicause le problème, ceci aidera les gens à t'aider.
    Merci

  3. #3
    Membre actif
    Inscrit en
    Février 2007
    Messages
    406
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 406
    Points : 207
    Points
    207
    Par défaut
    c'est pas un ptit morceau qui cause un prob, c'est tout mon code qui bloque
    mon code est long,alors je vais essayé de simplifier le truc.
    je pense que le probleme vient de là:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <div class=bt_tri><input type='button' value='TIRER' name='tirer' OnClick='cache(getElementById(piece_aleatoire("piece",1,28)));remplacer_moi();setTimeout(remplacer_lui,1000)'></div>
    suite à l'evenement OnClick , il y a appel de plusieurs fonctions.
    au bout de mon 3eme ou 4eme click tout se bloque.

  4. #4
    Membre régulier Avatar de soumou
    Inscrit en
    Juin 2005
    Messages
    208
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 208
    Points : 102
    Points
    102
    Par défaut
    Le code que tu as mis ne peux en aucun cas aider les autres à t'aider.
    Il faudrait que tu mettes aussi le code des fonction lesquelles tu fais appel lors de lévénement du click.

  5. #5
    Membre actif
    Inscrit en
    Février 2007
    Messages
    406
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 406
    Points : 207
    Points
    207
    Par défaut
    bon d'accord, j'ai testé mes fonctions une à une , et la fonction qui cause le probleme c'est celle la:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    function remplacer_moi()
    {compteur_moi++;
    genere_div('moi'+compteur_moi,piece_aleatoire('',1,6)+'.jpg');
    compteur_moi++;
    genere_div('moi'+compteur_moi,piece_aleatoire('',1,6)+'.jpg');
    }
    compteur_moi est une variable globale.
    la fonction piece_aleatoire est fonction qui me retourne un id aleatoire (mes id sont de la forme id1, id2, id3..,idn.)
    min et max forme l'intervalle [min,max] dans lequel il y aura recherche d'un nombre aleatoire.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    function piece_aleatoire(np,min,max)
    {var p=np;
    var nom_piece=p.concat(genere_nombre_alea(min,max));
    return(nom_piece);}
    la fonction genere_nombre_alea est une simple fonction random:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    function genere_nombre_alea(min,max)
    {var nb_alea=(Math.round(Math.random()*(max+min-1)))+min;
    voila j'ai essayé de simplifier le maximum j'espere que c'est claire.

  6. #6
    Membre actif
    Inscrit en
    Février 2007
    Messages
    406
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 406
    Points : 207
    Points
    207
    Par défaut
    un dernier ptit truc:
    genere div est une fonction qui retourne une div contenant une image:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    function genere_div(nom,nom_image)
    {var im;
      nouveauDiv = document.createElement("div");
      im='<img src="'+nom_image+'">';
      nouveauDiv.innerHTML = im;
      nouveauDiv.setAttribute("className",""+nom+"");
     nouveauDiv.setAttribute("id",""+nom+"");
      mon_div = document.getElementById("org_div1");
      document.body.insertBefore(nouveauDiv,mon_div);
    }

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. mon script javascript ne fonction pas
    Par lrgtk dans le forum XML/XSL et SOAP
    Réponses: 0
    Dernier message: 16/09/2011, 14h49
  2. [langage]erreur dans mon script
    Par Fabouney dans le forum Langage
    Réponses: 11
    Dernier message: 30/06/2005, 14h58
  3. Conflit entre javascript et script ASP
    Par Mvu dans le forum ASP
    Réponses: 2
    Dernier message: 22/02/2005, 16h28
  4. Tcsh - Mon script ne marche pas
    Par Aramis dans le forum Linux
    Réponses: 5
    Dernier message: 13/05/2004, 18h26
  5. Mon script cron n'est pas pris en compte
    Par tomnie dans le forum Linux
    Réponses: 11
    Dernier message: 31/03/2004, 11h19

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo