Obtenir infos sur l'image d'arrière plan.

Signaler
Messages postés
4
Date d'inscription
lundi 21 septembre 2009
Statut
Membre
Dernière intervention
23 septembre 2009
-
Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
-
Bonjour à tous, je suis un petit nouveau sur ce forum.

Programmeur Lingo (Adobe Director), je fais un peu de javascript à
l'occasion.

j'ai l'habitude de me débrouiller seul. Mais cette fois,je dois avouer
qu'un coup de pouce serait le bienvenue.

L'objectif est de créer une fonction qui retourne:

1- La position X,Y de l'image d'arrière plan.
(Par rapport au "Viewport du Browser")

2- Les dimensions en pixels de l'image.

("Cross Browser" évidemment)

N.B. Les propriétés de l'image d'arrière plan sont fixer avec
un style CSS.

Ce qui me semble le plus prometteur est l'utilisation de:

object.offsetLeft
object.offsetTop
object.offsetHeight
object.offsetWidth

-------------------------------

j'ai trouver un petit script sur le web à lequel j'ai ajouté
l'image d'arrière plan:

<html>
<style type="text/css">
<!--
body {
background-color: #999999;
background-image: url(bgimage.jpg);
background-attachment: fixed;
background-repeat: no-repeat;
background-position: 220px 120px;
}
-->
</style>





offsetHeight
offsetWidth
offsetLeft
offsetTop

</html>

-------------------------------

Mon problème est que je ce sait pas comment afecter
un ID à l'image d'arrière plan ou utiliser quelque chose qui
ressemblerait à: document.body.background.image.offsetLeft par exemple.

Une idée ?

Les 2 fichiers sont ici:

http://www.box.net/shared/0bkpvgreq7

Merci beaucoup !

N.B. le script à velontairement été simplifier au maximum
pour faciliter la compréhension.

9 réponses

Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
9
Bonjour,
un piste ?

if (document.body.currentStyle)
{ alert(document.body.currentStyle.backgroundPositionX +
" "+
document.body.currentStyle.backgroundPositionY) ;
}
else alert(window.getComputedStyle(document.body,null).backgroundPosition);
Cordialement [mon Site] [M'écrire] Bul
Messages postés
4
Date d'inscription
lundi 21 septembre 2009
Statut
Membre
Dernière intervention
23 septembre 2009

Merci Bul3, d'avoir pris de ton temps pour me répondre.

Malheureusement, les résultats sont plutôt mitigés selon le navigateurs utilisé.

Exemple: si background-position: center center

Ça me retourne center center ;pas jojo pour faire un calcul...

j'ai eu un coup de coeur pour l'utilisation de:

object.offsetLeft
object.offsetTop
object.offsetHeight
object.offsetWidth

Puisque tous les navigateurs retourne les bonnes valeurs en nombre de pixels.

Si ça te chante, je t'invite à télécharger les fichier:

http://www.box.net/shared/0bkpvgreq7

Le défi est d'obtenir les infos de l'image d'arrière plan plutôt que du div.

Merci encore...
Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
9
>>Ça me retourne center center ;pas jojo pour faire un calcul...
ben oui !
>>j'ai eu un coup de coeur pour l'utilisation de:
>>object.offsetLeft object.offsetTop ...
mais ça ne correspondait plus à la question
>>je t'invite à télécharger les fichiers
certes, certes, et dans ce cas regardez donc
les explications ici
Messages postés
4
Date d'inscription
lundi 21 septembre 2009
Statut
Membre
Dernière intervention
23 septembre 2009

Merci Bul3,

j'avais déja télécharger ce fichier sans trouver mon bonheur
puisque la page n'a pas d'image d'arrière plan.

Ma question est grossomodo:
Comment obtenir des infos sur l'image d'arrière plan ?

Mais comme je crois avoir la moitier de la solution.

La question pourrait être:

Comment affecter un ID à l'image d'arrière plan
qui est paramétrée par un style ?

Je félicite l'auteur de cette page.
je l'encourage de l'enrichir en lui intégrant
une image d'arrière plan est les infos correspondantes...

Merci de l'effort.
Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
9
je ne pense qu'on puisse : c'est du css
un id, un name c'est en html
Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
9
ou alors mettez cette image de fond
dans un div et traiter les coordonnées/taille
de ce div. puisque center il y a, c'est que
l'image ne prend pas toute la page, donc
la mettre dans un div ( par exemple ) est possible
Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
9
>>Je félicite l'auteur de cette page.
merci à vous
>>je l'encourage de l'enrichir en lui intégrant une image
>>d'arrière plan est les infos correspondantes...
pas possible tel que vous le voudriez (!)
seuls document.body.currentStyle ou window.getComputedStyle(document.body,null)
je pense sont possibles
c'est vrai que je pourrais au moins
y ajouter un exemple avec ça.
Messages postés
4
Date d'inscription
lundi 21 septembre 2009
Statut
Membre
Dernière intervention
23 septembre 2009

Merci Bul3,

J'en prend bonne note.

Ce n'est pas la première fois que je découvre une limitation
du javascript.

Mais cette fois, c'est:

"Hein, pas possible de savoir ou est cette image" !!!

je vais explorer la solution div...

Merci !
Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
9
je ne dirais pas cela du tout, mais bon...