Accueil > Forum > > > > OffsetTop - comportement hératique sur Firefox
OffsetTop - comportement hératique sur Firefox
vendredi 2 mai 2008 à 14:11:23 |
OffsetTop - comportement hératique sur Firefox

lmeylan
|
Bonjour, Mon objectif: pouvoir positionner des images en superposition d'autres ! je me creuse la tête depuis pas mal de temps pour comprendre pourquoi Firefox n'affiche pas correctement la page lors du premier chargement de la page, mais par contre l'affiche correctement lorsque l'on la réactualise ! Le problème revient si on vide le cache. Cela marche bien avec Internet Explorer ! Il peut être constaté sur : [ Lien ] --> chargez la page --> le graphe n'est pas aligné avec le fond --> actualisez --> les deux s'alignent --> effacez votre cache --> nouveau désalignement J'ai tenté de remplacer les document.write par du DOM pur, sur le conseil de SpaceFrog sur Developpez.com, mais cela ne change rien. Voici mon code (simple): Code : <script language="Javascript" TYPE="text/javascript"> // position des réalisations, function getOffsets(obj){ var offsetTop = obj.offsetTop; var offsetLeft = obj.offsetLeft; while((obj = obj.offsetParent)!=null){ offsetTop += obj.offsetTop; offsetLeft += obj.offsetLeft; } return[offsetTop,offsetLeft]; } </script> <img id="my_map_v" src="ly_carte2.jpg" style="border-width: 0px 0 0 0;"> <div id="my_map"><img src="reglyon.jpg" style="border-width: 0px 0 0 0"></div> <script language="Javascript" TYPE="text/javascript"> var obj1 =document.getElementById("my_map"); var top_map = getOffsets (obj1)[0]; var left_map = getOffsets (obj1)[1]; // position des réalisations, couleurs corrspondantes et image associée document.write("<div style=\"position:absolute;top:"+top_map+"px;left:" + left_map +"px;\">"); document.write("<img name=\"Fond1\" src=\"reglyon.gif\" WIDTH=\"662px\" height=\"576px\" border=\"0\">"); document.write("</div>"); </script> Laurent Passionné d'art et d'histoire
|
|
vendredi 2 mai 2008 à 14:25:28 |
Re : OffsetTop - comportement hératique sur Firefox

bultez
|
Bonjour, pas très bien compris ce que tu cherches à faire ?
mais (obj1)[1] ? c'est quoi ? comme tu fais juste deavnt var obj1 =document.getElementById("my_map"); il n'y en a qu'1, et ce n'est pas un array !
Cordialement  Bul [ mon Site] [ M'écrire]
|
|
vendredi 2 mai 2008 à 14:27:42 |
Re : OffsetTop - comportement hératique sur Firefox

bultez
|
ça doit d'ailleurs t'afficher une erreur... ¡--------¡----------------------------------------------------------¡ |FireFox |regarder la "console d'erreurs" | | | Outils / Console d'erreurs | | | et mieux, télécharger FireBug | |--------|----------------------------------------------------------| |Internet|activer le deboggage : Outils/options Internet/Avancés | |Explorer| dans la liste, sous "Navigation" : décocher | | | ° Afficher une notification de chaque erreur de script | | | ° Désactiver le débogage de Scripts (Internet Explorer) | | | et mieux, télécharger le Debogger IE | | | voir aussi DebugBar et Companion JS | |--------|----------------------------------------------------------| |K-Meleon|regarder la "console d'erreurs" | | | Outils / Console d'erreurs | |--------|----------------------------------------------------------| |Opera |regarder la "console d'erreurs" | | | Outils / Avancé / Console d'erreurs | |--------|----------------------------------------------------------| |Safari |regarder Debug / Show JavaScript Console | | |modif Fichier "Support:\Documents and Settings\utilisateur| | |\Application Data\Apple Computer\Safari\Preferences.plist"| | | y ajouter <key>IncludeDebugMenu</key> | | | <true/> | !--------!----------------------------------------------------------!
et la taille / position des éléments : regarder ici par exemple ?
Cordialement  Bul [ mon Site] [ M'écrire]
|
|
vendredi 2 mai 2008 à 14:37:50 |
Re : OffsetTop - comportement hératique sur Firefox

lmeylan
|
Merci pour la réponse spontanée réponse à la première remarque (mon objectif): Pour mieux comprendre clique sur ce lien. Sur Firefox, tu devrais observer que le détail de la carte n'est pas aligné avec le fond (beige). Mais si tu réactualise la page, ça marche ! Mon objectif --> que ça marche ds ts les cas ... réponse à la deuxième remarque :Ma fonction getOffsets (obj ) retourne un array dont le premier élément est top et le deuxième est left. Donc quand je récupère l'info, je fais : getOffsets (obj1 )[0] pour avoir le "Top"
réponse à la troisième remarque : la console d'erreur Mozilla ne relève aucune erreur, ni au chargement initial ni au rechargement.
Laurent Passioné d'art et d'histoire
|
|
vendredi 2 mai 2008 à 16:06:14 |
Re : OffsetTop - comportement hératique sur Firefox

bultez
|
>>le détail de la carte n'est pas aligné ah...ok; >>Mozilla ne relève aucune erreur bon uniquement un truc de positionnement , avec comportement IE et FF différent... >>getOffsets (obj ) retourne un array navré ! j'avais mal lu ! j'avais vu obj1[1] houla... faut que j'aille au lit moi.
Cordialement  Bul [ mon Site] [ M'écrire]
|
|
vendredi 2 mai 2008 à 16:20:02 |
Re : OffsetTop - comportement hératique sur Firefox

bultez
|
peux-tu essayer avec window.onload=function() { var obj1 =document. getElementById("my_map"); var top_map = getOffsets (obj1 )[0]; var left_map = getOffsets (obj1 )[1]; ...
Cordialement  Bul [ mon Site] [ M'écrire]
|
|
vendredi 2 mai 2008 à 19:39:39 |
Re : OffsetTop - comportement hératique sur Firefox

lmeylan
|
OK ça marche avec Windows.onload, mais l'exemple que j'ai soumis est ultra simplifié. Sur mon site, j'ai pas loin d'un millier d'image à positionner (autant qu'il y a d'ouvrages sur une carte géographique)--> il faut que ça marche du premier coup.
Pour info voilà comment j'ai implementé la proposition avec windows.onload
<script language="Javascript" TYPE="text/javascript"> // position de la première image, var first_img = document.createElement("img"); with(first_img){ id = "my_map1" src = "ly_carte2.jpg"; style.borderWidth = "0px 0 0 0"; } document.body.appendChild(first_img); </script> <br> <script language="Javascript" TYPE="text/javascript"> // position de la seconde image, var scd_img = document.createElement("img"); with(scd_img){ src = "reglyon.jpg"; id = "my_map" style.borderWidth = "0px 0 0 0"; } document.body.appendChild(scd_img);
// prpéparation de l'imageà superposer var detail = document.createElement("img"); with(detail){ src = "reglyon.gif"; id = "my_detail" style.position = "absolute"; style.top = "0px"; style.left = "0px"; style.borderWidth = "0px 0 0 0"; } document.body.appendChild(detail);
// on attend la fin de chargement du document, pour replaer l'image à superposer au bon endroit
function my_move() { var obj1 =document.getElementById("my_map"); // position de l'objet cible var top_map = getOffsets (obj1)[0]; var left_map = getOffsets (obj1)[1]; var obj2 =document.getElementById("my_detail"); // on récupère l'objet de l'image à superposer with(obj2){ style.top = top_map+"px"; style.left = left_map+"px"; } }
window.onload=my_move; </script>
Laurent Passionné d'art et d'histoire
|
|
samedi 3 mai 2008 à 06:54:35 |
Re : OffsetTop - comportement hératique sur Firefox

bultez
|
peu importe le nombre d'images ;o) FF déclenche parfois le javascript avant que le "html devant" ne soit interprété. d'ou le onload. il faut s'assurer que l'élément ( l'image) est bien "actif" avant d'y toucher. on peut aussi tester complete sur l'image. >>pas loin d'un millier d'image à positionner ça fait beaucoup... mais toutes sont dotées d'actions ? et pourquoi n'avoir pas utilisé map + area simplement en html ?
Cordialement  Bul [ mon Site] [ M'écrire]
|
|
samedi 3 mai 2008 à 10:36:58 |
Re : OffsetTop - comportement hératique sur Firefox

lmeylan
|
En fait, pour chaque ouvrage à positionner sur la carte géographique, j'associe une couleur et une forme différente, ainsi qu'un lien actif permettant d'appeler la page correspondante. voir la carte alsace-lorraine. Là où ça se complique c'est que dans certains cas, je propose une carte de la région avec ses ponts, suivi une carte de la ville avec ses ponts. voir Paris : Tout ça est généré en php, en dynamique à partir d'une base de données.. Avec une carte seulement ça marche, avec deux cartes, ça plante (au premier chargement), d'où mon appel à "expert". Merci encore pour les conseils! je vais voir avec windows.onload, mais je crains que les temps de chargement ne soient rédhibitoires. Passioné d'art et d'histoire
|
|
samedi 3 mai 2008 à 10:51:38 |
Re : OffsetTop - comportement hératique sur Firefox

bultez
|
c'est très intéressant. je ne sais pas si créer totalement cela en dynamique depuis une base de données était une si bonne idée ? sans critique aucune de quelques manières de quoi que ce soit ! ça me semble " simplement" relever de map + area en quasi pur htm ( ou ... généré en php )
Cordialement  Bul [ mon Site] [ M'écrire]
|
|
Cette discussion est classée dans : var, document, obj, map, offsettop
Répondre à ce message
Sujets en rapport avec ce message
probleme avec document.writ() [ par neolin85 ]
Bonsoir à tous,Je souhaite construire un menu horizontal sauf que j'ai un soucis avec la méthode write de la classe document.En fait, chaque fois que
probleme affichage/masquer menu vertical [ par neolin85 ]
Bonjour à tous, j'ai developpé un petit code qui permet de faire un menu horizontal avec des menus verticaux pour chaque clique sur le menu.J'ai un pe
menu en cascade [ par oceane751 ]
bonjour à tous!! j'ai du code me permettant de creer un menu horizontal en cascade, mais j'ai un peu de mal en effet, pour certain element du menu
Paramètres [ par piep14 ]
Bonjour, je cherche en vain depuis hier a passer mes variables hors d'une fonction meme en la déclarant en global et ca ne passe pas ->undefined <img
interdire mots [ par tonytruand ]
Bonjour à la communauté !j'ai besoin de votre aide, en effet je cherche à retirer dans un texte, par exemple, tous les : le la les du en ect. J'ai pou
Probleme de positionnement de mon menu [ par skippy729 ]
Bonjour, je voudrais utiliser ce script afin d'inserer un menu sur mon site, seulement lorsque je teste ce script, le menu se retrouve en haut a gauch
code html comme cookie [ par g_fuck ]
salut! j'ai un code JS servant a storer des cookies : function SetCookie (name, value) { var argv = SetCookie.a
Menu déroulant avec bouton de commande dans iframe [ par fabiano13 ]
Ca marche très bien sur ie, mais comment le rendre compatible avec les autres navigateurs ?D'avance merci.Fabiano13 <font face=
envoi formulaire xmlhttprequest [ par shadow1779 ]
Bonjour,j'essai de faire vérifier le contenu d'un formulaire avec xmlhttprequest mais ce coup ci j'ai une petite erreur que je n'arrive pas a comprend
dynamique dans les adresses d'objet [ par Ankaa1988 ]
bonjour a tous, encore plein de question et toujours pas de réponse... cette fois c'est plutot un problème de syntaxe.. en effet j'ai une adresse d'o
Livres en rapport
|
Derniers Blogs
POUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDNPOUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDN par neodante
Quelle est le point commun entre : Microsoft il y a 10 ans et Apple aujourd'hui ? Réponse: avoir une politique de protocoles propriétaires et fermés :) Car pour rappel (si si je vous assure c'est important de le rappeler), la majorité des spécifications e...
Cliquez pour lire la suite de l'article par neodante JOYEUX ANNIVERSAIRE NIXJOYEUX ANNIVERSAIRE NIX par ebartsoft
Souhaitons un bon et joyeux anniversaire à notre hôte à tous, Nix.
Je ne le répéterais jamais assez mais sans lui rien ne serait possible. Il défit en permanence les lois de la gravité et comme il le dit si bien, si tu lui fais confiance ça devra...
Cliquez pour lire la suite de l'article par ebartsoft IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) par richardc
Mise à jour des Web API du 14 Mai
Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris
Mise à jour de Team Foundation Service
MechCommander 2 sur Windows 8
Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article par richardc
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|