bizibiz17
Messages postés142Date d'inscriptionmardi 17 janvier 2006StatutMembreDernière intervention29 août 2009
-
11 sept. 2008 à 16:14
bizibiz17
Messages postés142Date d'inscriptionmardi 17 janvier 2006StatutMembreDernière intervention29 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)
bizibiz17
Messages postés142Date d'inscriptionmardi 17 janvier 2006StatutMembreDernière intervention29 août 20091 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
cs_bultez
Messages postés13615Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 201330 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...
bizibiz17
Messages postés142Date d'inscriptionmardi 17 janvier 2006StatutMembreDernière intervention29 août 20091 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é.
cs_bultez
Messages postés13615Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 201330 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" !
XtremDuke
Messages postés626Date d'inscriptionsamedi 28 septembre 2002StatutMembreDernière intervention18 mai 20094 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
cs_bultez
Messages postés13615Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 201330 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], <!--