OnResize appelé indéfiniment sous ie

Résolu
bizibiz17 Messages postés 142 Date d'inscription mardi 17 janvier 2006 Statut Membre Dernière intervention 29 août 2009 - 11 sept. 2008 à 16:14
bizibiz17 Messages postés 142 Date d'inscription mardi 17 janvier 2006 Statut Membre Dernière intervention 29 août 2009 - 12 sept. 2008 à 09:46
Bonjour,

Je souhaite provoquer le repositionnent d'un div qui est en position absolue lors du resize du navigateur.

Pour cela je fais window.onresize = function(){};
Le problème est que sous ie (ce merveilleux navigateur... ), lorsque je redimensionne la fenêtre, cela appelle l'évènement indéfiniment, ou plus précisément je pense, le nombre de fois qu'il y a d'éléments dans la page, comme si le onresize était sur le body...
Si quelqu'un voit d'où peut venir le problème...

Merci d'avance

ps : marche très bien sous les autres navigateurs (firefox, opéra et netscape)

14 réponses

bizibiz17 Messages postés 142 Date d'inscription mardi 17 janvier 2006 Statut Membre Dernière intervention 29 août 2009 1
12 sept. 2008 à 09:46
Bon j'ai fini par trouver une solution en n'appelant pas onresize... je replace mon div juste avant de l'afficher si la taille de la fenêtre a changé.
Merci à tous pour votre aide
3
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
11 sept. 2008 à 16:36
bonjour,

bah... il réagit exactement comme opera, safari....

effectivement, à priori, avec FF l'évênement n'est déclenché que lorsqu'on relache la souris.
                     ce qui n'est pas le cas des autres navigateurs

   
    <script>
        window.onresize = function()
            { document.getElementById("valeur").value++;    };
    </script>

mais ce n'est pas indéfiniment !
quand on relache la souris, la fonction n'est plus appelée ....

CordialementBul[mon Site][M'écrire], <!--
0
bizibiz17 Messages postés 142 Date d'inscription mardi 17 janvier 2006 Statut Membre Dernière intervention 29 août 2009 1
11 sept. 2008 à 16:38
Ah ok. Et n'y a-t-il pas moyen que l'évènement soit appelé au relâchement de la souris ?
0
XtremDuke Messages postés 626 Date d'inscription samedi 28 septembre 2002 Statut Membre Dernière intervention 18 mai 2009 4
11 sept. 2008 à 16:48
effectivement, à priori, avec FF l'évênement n'est déclenché que lorsqu'on relache la souris.




C'est faux

<hr size="2" width="100%" />Projet en cours : Joof
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
11 sept. 2008 à 16:52
je ne sais pas...

dans la plupart des cas, ça me gênerait d'ailleurs que cela se passe comme ça !
j'aime mieux le faire le boulot au fur et à mesure
mais ce merveilleux FF, ne veut pas o;)) contrairement à tous les autres ;o))
enfin, avec mes essais, donc, ce qui ne prouve rien

et.... en quoi ça peut géner ???

( encore une fois, ce n'est pas indéfiniment,
  on relache le bouton de la souris et tout se calme )

s'il n'y a pas de trucs pour faire tu peux le faire :

dans le onresize, teste si la touche est relachée ou pas ( pas sûr
       que la fonction soit appelée quand on relache... à vérifier )
ou met un évênement sur onmouseup
ou...

CordialementBul[mon Site][M'écrire], <!--
0
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
11 sept. 2008 à 16:55
@XTremDuke... tu as probablement raison,

je dois mal faire je ne sais quoi ...
mais sur mon ch'tiot exemple, c'est tout à fait l'impression que cela donne....
y'a quoi qui m'échappe ?

CordialementBul[mon Site][M'écrire], <!--
0
XtremDuke Messages postés 626 Date d'inscription samedi 28 septembre 2002 Statut Membre Dernière intervention 18 mai 2009 4
11 sept. 2008 à 16:59
Avec plaisir :

http://joof-api.net/demos/album/

Affiche une image et regarde les dimensions du calque noir lors d'un resize.

<hr size="2" width="100%" />Projet en cours : Joof
0
bizibiz17 Messages postés 142 Date d'inscription mardi 17 janvier 2006 Statut Membre Dernière intervention 29 août 2009 1
11 sept. 2008 à 17:28
En fait je teste en cliquant sur le bouton "resize" de la page donc a
priori qu'un seul clic... et j'ai testé en mettant un alert dans ma
fonction, sous firefox il est affiché une fois que le resize est
terminé alors que sous ie il s'affiche à chaque fois qu'un élément est modifié.
0
bizibiz17 Messages postés 142 Date d'inscription mardi 17 janvier 2006 Statut Membre Dernière intervention 29 août 2009 1
11 sept. 2008 à 17:43
Pour plus de précision mon div est caché et lorsque je l'affiche l'évènement onresize est déclenché, c'est normal ?
0
XtremDuke Messages postés 626 Date d'inscription samedi 28 septembre 2002 Statut Membre Dernière intervention 18 mai 2009 4
11 sept. 2008 à 17:59
Tu n'aurais pas une adresse où nous pourrions voir à quoi celà ressemble ?

<hr size="2" width="100%" />Projet en cours : Joof
0
bizibiz17 Messages postés 142 Date d'inscription mardi 17 janvier 2006 Statut Membre Dernière intervention 29 août 2009 1
11 sept. 2008 à 18:01
Non désolé cadre pro...
0
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
11 sept. 2008 à 19:12
bon, va falloir aller voir le lien que donne XTremDuke
parce que ce n'est pas un bête onresize qui est traité ? si ?

@XTremDuke : pourquoi sur l'exemple, si, on "resize"
FF affiche 1 quand on relâche le bouton de la souris 
et les autres navigateurs "incrémentent le compteur" ?

   

    <script>

        window.onresize = function()

            { document.getElementById("valeur").value++;    };

    </script>

néanmoins, donc, FF se comporterait pareil que les autres navigateurs d'après XTremDuke
( ce qui ne m'étonnerait pas plus que cela ;o))  moyennant je ne sais quoi...
ce qui ne résoudrait pas ton souci, même si ce n'est toujours pas infini ! mais
uniquement tant qu'on "resize" , et que je ne vois pas en quoi c'est "génant"  !

CordialementBul[mon Site][M'écrire], <!--
0
XtremDuke Messages postés 626 Date d'inscription samedi 28 septembre 2002 Statut Membre Dernière intervention 18 mai 2009 4
11 sept. 2008 à 21:42
@Bultez :

Sous FF le resize est déclaché lorsque le navigateur juge qu'il y a eu une séquence de resize, pas a chaque pixels comme IE. Fait le teste, resize en fesait des pauses et non d'un seul trait, tu verras que ton compteur s'incremente.

<hr size="2" width="100%" />Projet en cours : Joof
0
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
12 sept. 2008 à 09:34
ok... donc même comportement entre tous les navigateurs...
et ça s'arrête des qu'on relâche la souris,
si c'est "infini", c'est qu' il y a une erreur ailleurs...
CordialementBul[mon Site][M'écrire], <!--
0
Rejoignez-nous