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 :

currentStyle margin-left sur Opera


Sujet :

JavaScript

  1. #1
    Membre éclairé Avatar de xess91
    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    408
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2008
    Messages : 408
    Par défaut currentStyle margin-left sur Opera
    Bonjour à tous,

    Je test une fonction que j'ai trouvé sur internet pour récupérer les styles CSS, contenu dans une feuille de style, d'un élément du DOM.

    La voici:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    function getStyleProperty(element, styleProperty)
    {
        var prop = "";
     
        if (element.currentStyle)
    		prop = element.currentStyle[styleProperty];
     
        else if (window.getComputedStyle)
    		prop = document.defaultView.getComputedStyle(element,null).getPropertyValue(styleProperty);
     
        return prop;
    }
    Lorsque je l'utilise avec 'margin-left' comme styleProperty, elle me retourne NAN Not A Number sous Opéra? Je rentre dans la condition 1!

    Merci à tous pour vos aides.

  2. #2
    Membre Expert
    Avatar de Eric2a
    Homme Profil pro
    Technicien
    Inscrit en
    Septembre 2005
    Messages
    1 225
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Corse (Corse)

    Informations professionnelles :
    Activité : Technicien

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 225
    Par défaut
    Salut,

    La propriété margin-left doit s'écrire marginLeft...

    Il en est de même pour les autres propriétés (ex. background-color s'écrit backgroundColor).

  3. #3
    Invité
    Invité(e)
    Par défaut
    et il serait preferable d'utilisé getComputedStyle qui de memoire est reconu par apero et est standart

  4. #4
    Membre éclairé Avatar de xess91
    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    408
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2008
    Messages : 408
    Par défaut
    Effectivement pour Opéra la syntaxe est "marginLeft", "marginRight", etc... par contre pour FF il n'accepte pas cette syntaxe il faut l'écrire normalement "margin-left", "margin-right", etc...

    Opéra ne reconnais pas "getComputedStyle" mais FF oui!

    Merci Eric2a et meka!

  5. #5
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 205
    Par défaut
    Citation Envoyé par xess91 Voir le message
    Opéra ne reconnais pas "getComputedStyle" mais FF oui!
    là je suis surpris

    je pense plutôt qu'il reconnait les 2, ce ne serait pas la première fois pour ce browser.

    Par contre il ne faut pas oublier que la méthode peut retourner 10px
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    alert( isNaN( '2px'));
    alert( isNaN( parseInt('2px', 10)));

  6. #6
    Membre éclairé Avatar de xess91
    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    408
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2008
    Messages : 408
    Par défaut
    J'ai pas compris ton exemple noSmoking!

  7. #7
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 205
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    var sResult = [];
    sResult[true]  = 'n\'est pas un nombre';
    sResult[false] = 'est un nombre';
    alert( '2px ' +sResult[isNaN( '2px')]);
    alert( 'parseInt(\'2px\', 10) ' +sResult[isNaN( parseInt('2px', 10))]);

  8. #8
    Membre éclairé Avatar de xess91
    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    408
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2008
    Messages : 408
    Par défaut
    Lol ok, je viens tiquer! Oui j'avais pas compris mais effectivement je passe la valeur de retour dans parseInt.

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

Discussions similaires

  1. Question bête sur un margin-left
    Par sam01 dans le forum Mise en page CSS
    Réponses: 4
    Dernier message: 07/10/2009, 16h30
  2. fonction qui modifie le margin-left
    Par ipeteivince dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 15/11/2007, 09h40
  3. Problème margin-left sous IE !
    Par finalfx dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 14/04/2006, 18h26
  4. getelementbyid innerhtml sur Opera?
    Par cynthia dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 31/12/2004, 10h44
  5. Fonction LEFT sur champ de type "text" : méthodes
    Par MatthieuQ dans le forum Langage SQL
    Réponses: 4
    Dernier message: 08/06/2004, 11h15

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