OVH Cloud OVH Cloud

Positionner un calque sur un autre qui n'a pas de position: absolute !

12 réponses
Avatar
loiseauthierry
Salut,

Tout est dans le titre !

J'ai une image dans un calque qui suit le contenu précédent d'une page
web.

Donc, sa position est indéfini, mais je voudrais pouvoir superposer sur
celui-ci un autre calque de manière précise !

Par exemple : mon image se retrouve au hasard physiquement dans la page
à 300px en left et 1200 en top. Je veux positionner un picto à 100px en
left de l'image (ce qui me donne en fait 400) et 300px en top (donc
1500px)

Comment faire ?

Très bonne semaine à vous !

Thierry


--
<http://www.trombinewtscope.free.fr/> <http://astrophoto.free.fr/>
<http://ecm.terrasson.free.fr/> <http://gerry.garstein.free.fr/>

10 réponses

1 2
Avatar
loiseauthierry
Thierry Loiseau wrote:

Tout est dans le titre !


vous pouvez voir ma page où est le problème :

<http://www.trombinewtscope.free.fr/>
(vers le bas de la page)

@++,
Thierry

PS : je cherche aussi un moyen facile pour trouver les coordonnées "en
haut gauche" de cette vue satellitaire ainsi que le point bas-droit..
--
<http://www.trombinewtscope.free.fr/> <http://astrophoto.free.fr/>
<http://ecm.terrasson.free.fr/> <http://gerry.garstein.free.fr/>

Avatar
ASM
Thierry Loiseau wrote:
Thierry Loiseau wrote:


Tout est dans le titre !



vous pouvez voir ma page où est le problème :


Ha ? ya un pb qque part ?
pas ni rien vu ...
le clignotant semble être positionné à sa place sur la carte, non ?
(repérer une long et une lat de réf, puis après avoir déterminé l'éch de
la carte positionner le point de manière + conforme ?)

<http://www.trombinewtscope.free.fr/>
(vers le bas de la page)


http://css.alsacreations.com/Tutoriels-et-articles-divers/Faire-une-zone-reactive-image-map-en-CSS

PS : je cherche aussi un moyen facile pour trouver les coordonnées "en
haut gauche" de cette vue satellitaire ainsi que le point bas-droit..


un moyen facile ? Har Har Har (gros rire grassouillant)
avec toutes les fantaisies de tous les navigateurs ?

voir ici une 1ère piste (en pas fr) :
http://www.quirksmode.org/js/findpos.html
qui semble dater un peu (? !) (detections document all layers ...)

--
Stephane Moriaux et son [moins] vieux Mac


Avatar
loiseauthierry
ASM wrote:

le clignotant semble être positionné à sa place sur la carte, non ?


Ben non :-(((( En principe j'essayais de mettre au centre de la photo le
point clignotant :-(

En fait, j'ai trouvé le problème : les deux <div> contenant les deux
images (point et carte) étaient dans un <div style="text-align:
center"> : ce style posait problème donc !

Je vais essayer d'étudier une formule pour les coordonnées
(malheureusement, s'eut été trop simple, la carte est en perspective
:-))

@++,
Thierry
--
<http://www.trombinewtscope.free.fr/> <http://astrophoto.free.fr/>
<http://ecm.terrasson.free.fr/> <http://gerry.garstein.free.fr/>

Avatar
ASM
Thierry Loiseau wrote:
En principe j'essayais de mettre au centre de la photo le
point clignotant :-(


au centre de la photo ou de la France ? (Parisse)

Je vais essayer d'étudier une formule pour les coordonnées
(malheureusement, s'eut été trop simple, la carte est en perspective
:-))


vi vi vi ça va pas être facile
il n'existe pas d'autres cartes que celle là ?

celle-ci par exemple :
http://www.orpi.com/images/im_france.gif
et ses copines :
http://www.orpi.com/DesktopDefault.aspx?pageid04&pagealias=AgencySearch

:-/

--
Stephane Moriaux et son [moins] vieux Mac

Avatar
loiseauthierry
ASM wrote:

au centre de la photo ou de la France ? (Parisse)


De la photo, voyons !! :-)))

Je vais essayer d'étudier une formule pour les coordonnées
(malheureusement, s'eut été trop simple, la carte est en perspective
:-))


vi vi vi ça va pas être facile


Ben en fait, ce n'est pas top mais j'ai réussi (il me faudra trouver un
moyen d'apporter des corrections aux calculs) un établir deux premières
formules qui positionnent relativement bien le point. Actuellement, en
ligne, ça pointe sur Penzance (tout à la pointe ouest de la Grande
Bretagne) 50.12° / -5.55°

Sur Paris(se) ça colle, idem pour Brest, Cherbourg, ça peut aller,
Calais a les pieds dans l'eau et Biarritz se retrouve un peu trop en
Espagne :-((

Mais, bon, c'est jouable je pense...

il n'existe pas d'autres cartes que celle là ?

celle-ci par exemple :
http://www.orpi.com/images/im_france.gif
et ses copines :
http://www.orpi.com/DesktopDefault.aspx?pageid04&pagealias=AgencySearch


Ok ! Merci pour tes trouvailles ! Je verrais avec ça aussi

@++,
Thierry
--
<http://www.trombinewtscope.free.fr/> <http://astrophoto.free.fr/>
<http://ecm.terrasson.free.fr/> <http://gerry.garstein.free.fr/>


Avatar
ASM
Thierry Loiseau wrote:
ASM wrote:

au centre de la photo ou de la France ? (Parisse)


De la photo, voyons !! :-)))


Ha ? sans explication préliminaires, je trouvais que çà n'avait
pas trop mal l'air de coller (à la capitale) :-)

Je vais essayer d'étudier une formule pour les coordonnées
(malheureusement, s'eut été trop simple, la carte est en perspective
:-))


vi vi vi ça va pas être facile


Ben en fait, ce n'est pas top mais j'ai réussi


bravo !

(il me faudra trouver un
moyen d'apporter des corrections aux calculs)


ça ne devrait pas te poser de problème
ce n'est jamais qu'une projection d'une (partie d'une) sphère sur un
plan suivant un vecteur determiné par l'altitude du satelite et sa
position relative et le point visé sur le globe
Astronome agéri comme tu es tu vas bien trouver une petite formule.

Ok ! Merci pour tes trouvailles ! Je verrais avec ça aussi


c'était pas très diff
c'est dans un des posts du jour :-)

et la soluce google ?

--
Stephane Moriaux et son [moins] vieux Mac



Avatar
loiseauthierry
ASM wrote:

et la soluce google ?


J'ai récupéré quelques 45 coordonnées de villes repères et ça roule
après avoir testé/tatonné, pour trouver les bonnes valeurs aux niveaux
bornes NSEO!

Ca donne :

Latitude nord = 53.83°
Latidue Sud = 38°
Longitude Ouest = -9.9°
Longitude Est = +10.2°

<http://www.trombinewtscope.free.fr/>

avec pour function (pour l'instant) finale :

---
function place(y,x) {

ytop = (y - lats)*(-368)/(latn-lats);

xleft = (x - longW)*464/(longE-longW);

document.getElementById('repere').style.top=ytop+"px";
document.getElementById('repere').style.left=xleft+"px";
}
---

où x représente en degré décimal la longitude et y la latitude,
avec la photo qui fait 472x376 et le point clignotant 8x8

Ouf !

Thierry
--
<http://www.trombinewtscope.free.fr/> <http://astrophoto.free.fr/>
<http://ecm.terrasson.free.fr/> <http://gerry.garstein.free.fr/>

Avatar
ASM
Thierry Loiseau wrote:
J'ai récupéré quelques 45 coordonnées de villes repères et ça roule
après avoir testé/tatonné, pour trouver les bonnes valeurs aux niveaux
bornes NSEO!

Ca donne :


c'est bien les coordonnées de la pointe ouest de Cornouailles (UK) ?

Latitude nord = 53.83°
Latidue Sud = 38°
Longitude Ouest = -9.9°
Longitude Est = +10.2°

<http://www.trombinewtscope.free.fr/>


car c'est là que je vois le clignotant (FF Mac)

avec pour function (pour l'instant) finale :


Ha ben ! normal ... c'est Penzance !

Moins normal : y a pas Nimes :-/
mais mon village y est, donc tout n'est pas perdu :-)

---
function place(y,x) {

ytop = (y - lats)*(-368)/(latn-lats);

xleft = (x - longW)*464/(longE-longW);

document.getElementById('repere').style.top=ytop+"px";
document.getElementById('repere').style.left=xleft+"px";
}
---

où x représente en degré décimal la longitude et y la latitude,
avec la photo qui fait 472x376 et le point clignotant 8x8


Dommage, je ne verrais pas de formule de projection sphère/plan

Ouf !


He ben ! re bravo !


--
Stephane Moriaux et son [moins] vieux Mac

Avatar
O.L.
Thierry Loiseau a exprimé avec précision :
Salut,

Tout est dans le titre !

J'ai une image dans un calque qui suit le contenu précédent d'une page
web.

Donc, sa position est indéfini, mais je voudrais pouvoir superposer sur
celui-ci un autre calque de manière précise !

Par exemple : mon image se retrouve au hasard physiquement dans la page
à 300px en left et 1200 en top. Je veux positionner un picto à 100px en
left de l'image (ce qui me donne en fait 400) et 300px en top (donc
1500px)

Comment faire ?

Très bonne semaine à vous !

Thierry


Bonjour,

J'ai eu le même problème à résoudre pour mon menu déroulant (cf.
www.cyber-tamtam.net, onglet "Offres").
La solution que j'ai trouvé est de récupérer en JavaScript la position
absolue de ton image, en remontant l'arborescence des éléments, et en
ajoutant au passage les valeurs .offsetLeft et .offsetTop de chaque
élément.
Voici ce que ça a donné dans mon cas :

function menuTarifsInit() {
x = 0; y = 0;
el = document.getElementById('tarifsImg'); // ton image
while(el != document && el && el != null) { // en boucle
if(el.parentElement) el = el.parentElement; else break; // on
remonte l'arbo.
if(el.tagName == 'A' || el.tagName == 'TD' || el.tagName ==
'TABLE') {
x += el.offsetLeft; // si c'est un élément "intéressant"
y += el.offsetTop; // on récupère sa position par rapport à son
élement parent
// et ainsi de suite
}
}
y += document.getElementById('tarifsImg').offsetHeight;
y += 5; // on décale mon menu (ton calque) un peu vers le bas
// et on le place à la bonne position
document.getElementById('menuTarifTbl').style.left = x+'px';
document.getElementById('menuTarifTbl').style.top = y+'px';
}
A la fin tu as dans x et y la position absolue de ton image, d'où tu
peux placer ton calque où tu veux par rapport à cette image, et ce très
précisément. Par contre il faut appeller menuTarifsInit() une fois que
toutes les images sont bien chargées, car sinon une image pourrait
prendre de la place en se chargant et rendre caduques tes positions x-y
que tu auras calculées avant.

Voilà, à toi d'adapter ce script maintenant :)
Note : ça marche pour FireFox & IE, je crois.
Et ça prend correctement en charge les tailles de bordures des
tableaux, les marges, etc.

Bonne chance !
Olivier Ligny

--
Ceci est une signature automatique de MesNews.
Site : http://mesnews.no-ip.com

Avatar
O.L.
PS : Rectification : ça n'a pas l'air de marcher avec FireFox :-/

--
Ceci est une signature automatique de MesNews.
Site : http://mesnews.no-ip.com
1 2