Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > JavaScript
JavaScript Forum programmation JavaScript. Lire : Cours JavaScript, FAQ JavaScript, Toutes les FAQ JavaScript et Sources JavaScript
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 12/09/2011, 22h43   #1
Membre actif
 
Avatar de xess91
 
Homme
Inscription : octobre 2008
Messages : 407
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 29
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : octobre 2008
Messages : 407
Points : 160
Points : 160
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 :
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.
xess91 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/09/2011, 23h33   #2
Membre Expert
 
Avatar de Eric2a
 
Homme Eric Garidacci
Inscription : septembre 2005
Messages : 1 057
Détails du profil
Informations personnelles :
Nom : Homme Eric Garidacci
Âge : 41

Informations forums :
Inscription : septembre 2005
Messages : 1 057
Points : 1 564
Points : 1 564
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).
__________________

N'oubliez pas le vote des messages utiles ainsi que le Tag [Résolu].

Mon Site Web : Corse - Actualité, Météo, Vidéos, Logiciels, ...
Eric2a est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/09/2011, 23h40   #3
Membre chevronné
 
Homme Krusty
Inscription : mai 2009
Messages : 472
Détails du profil
Informations personnelles :
Nom : Homme Krusty
Localisation : France

Informations forums :
Inscription : mai 2009
Messages : 472
Points : 617
Points : 617
et il serait preferable d'utilisé getComputedStyle qui de memoire est reconu par apero et est standart
__________________
programmer n'est pas connaitre tous les moindres détails d'un langage mais savoir exploiter sous toutes ses facettes ce que l'on connait.
mekal est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/09/2011, 22h56   #4
Membre actif
 
Avatar de xess91
 
Homme
Inscription : octobre 2008
Messages : 407
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 29
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : octobre 2008
Messages : 407
Points : 160
Points : 160
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!
xess91 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/09/2011, 23h22   #5
Modérateur
 
Avatar de NoSmoking
 
Homme
Inscription : janvier 2011
Messages : 2 944
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Isère (Rhône Alpes)

Informations forums :
Inscription : janvier 2011
Messages : 2 944
Points : 4 779
Points : 4 779
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 :
1
2
alert( isNaN( '2px'));
alert( isNaN( parseInt('2px', 10)));
NoSmoking est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/09/2011, 10h30   #6
Membre actif
 
Avatar de xess91
 
Homme
Inscription : octobre 2008
Messages : 407
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 29
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : octobre 2008
Messages : 407
Points : 160
Points : 160
J'ai pas compris ton exemple noSmoking!
xess91 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/09/2011, 07h34   #7
Modérateur
 
Avatar de NoSmoking
 
Homme
Inscription : janvier 2011
Messages : 2 944
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Isère (Rhône Alpes)

Informations forums :
Inscription : janvier 2011
Messages : 2 944
Points : 4 779
Points : 4 779
Code :
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))]);
NoSmoking est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/09/2011, 16h14   #8
Membre actif
 
Avatar de xess91
 
Homme
Inscription : octobre 2008
Messages : 407
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 29
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : octobre 2008
Messages : 407
Points : 160
Points : 160
Lol ok, je viens tiquer! Oui j'avais pas compris mais effectivement je passe la valeur de retour dans parseInt.
xess91 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 00h08.


 
 
 
 
Partenaires

Hébergement Web