IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

document.getElementById('photos').style.marginLeft pas pris en compte par FF et pris en compte par IE


Sujet :

JavaScript

  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Février 2008
    Messages
    113
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 113
    Points : 205
    Points
    205
    Par défaut document.getElementById('photos').style.marginLeft pas pris en compte par FF et pris en compte par IE
    Bonjour,

    J'utilise la fonction suivante pour cadrer une photo en zoom.

    En CSS, je définis un margin left pour center la photo grossomodo pour une photo de 800 px de large et 60px de cadre de couleur.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    div#photos { z-index:99; position: absolute; top: 60px; margin:0 0 0 -430px; visibility:hidden; background-color:#554336; vertical-align:center; text-align:center; border : 2px groove white; left:50%; }
    Ensuite en JS, je recentre la photo
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
     
    ou large est la largeur de la photo +60 px de cadre et legend est le texte de legende)
     
    function JF_photos(nb,URL,large,legend){
    var margin=large*0.5*(-1);
    var long=legend.indexOf(' - ',0);
    if(long==-1) {long=legend.length}
    if(long==0) {long=10}
    legend=legend.replace(' _ ', '\r\n');
    legend=legend.replace('zzz', "'");
    legend=legend.replace('zzz', "'");
    legend=legend.replace('zzz', "'");
    legend=legend.replace('zzz', "'");
    legend=legend.replace('zzz', "'");
    document.getElementById('photos').style.visibility="hidden";
    document.getElementById('chargement_photo').style.visibility="visible";
    document.getElementById('fond_photo').style.visibility="visible";
    document.images['photo_gr'].src=URL;
    document.images['photo_gr'].alt=legend;
    document.getElementById('titre').cols=long;
    document.getElementById('photos').style.width=large;
    document.getElementById('photos').style.marginLeft=margin;
    document.getElementById('bandeau_photo').style.width=large;
    document.getElementById('chargement_photo').style.width=large;
    document.getElementById('retour_gr').href="#"+nb; 
    document.getElementById('titre').value=legend;
    ident=setTimeout("JF_affichage_photos()",100);
    }
     
    function JF_affichage_photos(){
    if(document.images['photo_gr'].complete) {
    document.getElementById('chargement_photo').style.visibility="hidden";
    document.getElementById('photos').style.visibility="visible";
    }
    else
    {ident=setTimeout("JF_affichage_photos()",100);}
    }
    Pas de souci avec IE (7 ou 8), avec FF, rien ne bouge.
    Si je mets J'ai bien -163 qui s'affiche dans la fenêtre donc la variable margin est bien renseigné.

    Voila, je sèche.

    Merci de votre aide.

  2. #2
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.getElementById('photos').style.marginLeft=margin + 'px';

  3. #3
    Membre expérimenté
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    1 132
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 132
    Points : 1 418
    Points
    1 418
    Par défaut
    Citation Envoyé par Bovino Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.getElementById('photos').style.marginLeft=margin + 'px';
    Même chose pour width

  4. #4
    Membre actif
    Profil pro
    Inscrit en
    Février 2008
    Messages
    113
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 113
    Points : 205
    Points
    205
    Par défaut
    Citation Envoyé par Bovino Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.getElementById('photos').style.marginLeft=margin + 'px';
    Merci, ça marche.

    J'avais essayé de mettre px à la fin mais j'avais du utilisé les " au lieu de ' ou j'avais rajouté le + 'px' dans la définition de la variable
    var margin=large*0.5*(-1) + 'px';

    En tout ca, ça marchait pas et j'ai cherché ailleurs sans pousser plus loin.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. document.getElementById().style.color
    Par alf78fr dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 09/05/2015, 18h43
  2. document.getelementbyid(id).style.background avec couleur en HEXA
    Par Knular dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 01/01/2015, 17h18
  3. webBrowser1.Document.GetElementById mais pas de "ID"
    Par sharingamak dans le forum C#
    Réponses: 0
    Dernier message: 27/04/2012, 15h08
  4. document.getElementById(idObj).style ne retourne rien !
    Par Tchupacabra dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 06/02/2007, 08h58
  5. This.value au lieu de document.getElementById('field').value
    Par yoyot dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 04/03/2005, 14h02

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo