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 :

probleme avec evenements mouseover et mouseout - propriété


Sujet :

JavaScript

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 5
    Points : 1
    Points
    1
    Par défaut probleme avec evenements mouseover et mouseout - propriété
    bonjour, j'ai un petit soucis

    je suis en train de faire un menu CSS
    pour IE j'ai besoin d'attacher des évènement onmouseover et onmouseout sur des élements d'une liste

    j'utilise cette fonction :

    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
    sfHover = function() {
     
    var sfEls = document.getElementById("nav").getElementsByTagName("LI");
       for (var i=0; i<sfEls.length; i++) {
        sfEls[i].onmouseover=function() {
            this.className+=" sfhover";
        }
        sfEls[i].onmouseout=function() {
            var cl = new RegExp(" sfhover\\b");
            this.className=this.className.replace(cl, "");
            cl = null;
        }
       }
       sfEls ="";
    }
     
    if (window.attachEvent) window.attachEvent("onload", sfHover);
    le problême ne vient pas de la regexp, j'ai essayé avec autre chose de moins gourmand et c'est la même chose.

    Le comportement dans IE est normal au départ, menu rapide, puis devient de plus en plus lent au fur à mesure que je passe sur les éléments de la liste, plus je passe sur des élément et plus ça ralenti, en fait le curseur de la souris oscille en passant du curseur normal au curseur avec le sablier.

    Il semblerait que ça soit dû a l'utilisation de la propriété className
    est-ce un bug de IE (ça m'etonnerait quand même )

    y a t-il un autre moyen que de swapper les classname ? ou de reinitialiser quelque chose !??!

    la mémoire utilisée par IE monte petit à petit de même que l'utilisation du processeur jusqu'à 90%

    c'est un peu énorme quand même

    c'est le seul script que j'utilise sur cette page

    avez vous une idée de ce qui cause ce ralentissement ?

  2. #2
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 670
    Points
    66 670
    Billets dans le blog
    1
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    this.className+=" sfhover"
    heu normal l'espace avant ??
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  3. #3
    Expert confirmé
    Avatar de javatwister
    Homme Profil pro
    danseur
    Inscrit en
    Août 2003
    Messages
    3 681
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : danseur

    Informations forums :
    Inscription : Août 2003
    Messages : 3 681
    Points : 5 221
    Points
    5 221
    Par défaut
    c'est pour quoi cette ligne?

  4. #4
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 5
    Points : 1
    Points
    1
    Par défaut
    oui l'espace est normal avant sfhover

    et pour le sfEls ="", c'était un test pour vider la variable (au cas où) mais on peut l'enlever c'est pareil

  5. #5
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 670
    Points
    66 670
    Billets dans le blog
    1
    Par défaut
    tu essayes de cumuler les class ?
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  6. #6
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 5
    Points : 1
    Points
    1
    Par défaut
    oui voila j'ai une classe de base à laquelle je rajoute sfhover ou je l'enleve

  7. #7
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 670
    Points
    66 670
    Billets dans le blog
    1
    Par défaut
    as tu essayé &nbsp; à la place de l'espace ...
    ?
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  8. #8
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 5
    Points : 1
    Points
    1
    Par défaut
    non il ne s'agit pas d'un bug de mon script, mon script marche trés bien,
    seulement il s'agit du comportement d'IE,

    d'ailleurs j'ai utilisé une autre methode j'ai trouvé un behavior htc qui rattache des evenement over et out sur tout element pour IE, même comportement observé.


    on dirait qu'il ne réinitialise pas quelque chose, l'utilisation de classname le fait ramer de plus en plus,

    quand ça commence à ramer je peux laisser de côté le navigateur pendant 1heure et puis en revenant dessus le menu rame toujours autant,
    par contre quand je le ferme et que je réexecute ma page, le comportement du menu est à nouveau normal.

    J'ai l'impression que c'est un bon gros bug de IE

  9. #9
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 670
    Points
    66 670
    Billets dans le blog
    1
    Par défaut
    et as tu essayé en dur si IE accepte le cumul des class ??
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    calss="machin fhover"
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  10. #10
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 5
    Points : 1
    Points
    1
    Par défaut
    oui j'ai essayé il n'y a pas de probleme.

    bon aprés multiples tests avec multiples methodes.

    IE ne libère jamais la mémoire quand on charge des images background en CSS, il n'utilise jamais le cache non plus ce qui fait qu'il charge l'image inlassablement, et pour peut que le menu soit gros, ce qui est le cas, il finni par perdre les pédales et se met à ralentir de plus en plus.

    Résultat j'ai viré toute image que je pouvais avoir en mouseover, et ça booste comme sur firefox.

    Tant pis pour le design.

    La méthode marche bien pour un petit menu avec pas trop d'entrées, mais pas avec un gros menu.

    Voila pour moi la conclusion.

Discussions similaires

  1. [XL-2007] Probleme avec Evenement Application
    Par Bonero dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 28/09/2010, 11h44
  2. probleme d'evenements.. avec plusieurs fenetres :(
    Par djynwk dans le forum GTK+ avec C & C++
    Réponses: 5
    Dernier message: 18/04/2007, 16h01
  3. [VB6] Probleme avec les evenements keydown et keyup
    Par johnson95 dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 04/07/2006, 13h50
  4. Problème avec les évènements Paint
    Par vdumont dans le forum wxWidgets
    Réponses: 1
    Dernier message: 11/04/2006, 22h25
  5. [Evenement] Probleme avec un JList
    Par mawashee dans le forum Composants
    Réponses: 3
    Dernier message: 06/12/2004, 18h45

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