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 :

Acc�s au css depuis javascript


Sujet :

JavaScript

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    �tudiant
    Inscrit en
    D�cembre 2011
    Messages
    33
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Doubs (Franche Comt�)

    Informations professionnelles :
    Activit� : �tudiant
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : D�cembre 2011
    Messages : 33
    Par d�faut Acc�s au css depuis javascript
    Bonjour,

    J'aimerais calculer la taille des marges autour d'un de mes objets html.
    Mon objet est d�clar� de cette mani�re dans mon fichier html :
    Le code css est situ� dans une feuille de style � part :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    #viewer
    {
    	width : 100%;
    	height : 100%;
    	margin-left : 300px;
    	margin-right : 0px;
    }
    Au sein de mon fichier javascript j'effectue la boucle suivante afin de calculer la somme des marges des objets contenant mon objet viewer (seul mon objet viewer poss�de une marge dans le cas actuel) :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    var offsetTop = 0;
    var offsetLeft = 0;
    var p = document.getElementById('viewer');			
    while(p.style != undefined){
       offsetTop += p.style.marginTop;
       offsetLeft += p.style.marginLeft;
       p = p.parentNode;
    }
    A la suite de cela, offsetLeft devrait contenir 300. Hors il ne contient rien. La valeur de p.style.marginLeft de mon objet viewer a pour valeur "undefined" quand je l'affiche dans la console.

    Par contre si je place le css dans le fichier html comme suit, tout marche bien :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    <div id="viewer" style="width:100%;height:100%;margin-left:300px;margin-right:0px"></div>
    Pourquoi ne puis-je pas acc�der au css si il se trouve dans une feuille de style externe au html ?

    Merci de vos r�ponses

    Cordialement

    David

  2. #2
    R�dacteur/Mod�rateur

    Avatar de SpaceFrog
    Homme Profil pro
    D�veloppeur Web Php Mysql Html Javascript CSS Apache - Int�grateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activit� : D�veloppeur Web Php Mysql Html Javascript CSS Apache - Int�grateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Par d�faut
    a quoi �a sert �a ?

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    while(p.style != undefined){
    Ma page Developpez - Mon Blog Developpez
    Pr�sident du CCMPTP (Comit� Contre le Mot "Probl�me" dans les Titres de Posts)
    Deux r�gles du succ�s: 1) Ne communiquez jamais � quelqu'un tout votre savoir...
    Votre post est r�solu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de D�veloppez !

  3. #3
    Membre averti
    Homme Profil pro
    �tudiant
    Inscrit en
    D�cembre 2011
    Messages
    33
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Doubs (Franche Comt�)

    Informations professionnelles :
    Activit� : �tudiant
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : D�cembre 2011
    Messages : 33
    Par d�faut
    A chaque fois je r�cup�re le conteneur parent afin de v�rifier si celui-ci a une valeur diff�rente de z�ro dans ses propri�t�s marges. J'utilise :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    while(p.style != undefined){
    afin de v�rifier s'il existe encore un objet p�re. Si la propri�t� style existe alors c'est un objet html (document, page, div etc..). Sinon si la propri�t� n'existe pas alors cela veut dire que l'on est remont� trop haut, on a donc atteint le dernier conteneur (document), on s'arr�te alors.

  4. #4
    R�dacteur/Mod�rateur

    Avatar de SpaceFrog
    Homme Profil pro
    D�veloppeur Web Php Mysql Html Javascript CSS Apache - Int�grateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activit� : D�veloppeur Web Php Mysql Html Javascript CSS Apache - Int�grateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Par d�faut
    A chaque fois je r�cup�re le conteneur parent
    tu es dans une boucle ?

    tu ne nous montre pas le code entier ?
    Ma page Developpez - Mon Blog Developpez
    Pr�sident du CCMPTP (Comit� Contre le Mot "Probl�me" dans les Titres de Posts)
    Deux r�gles du succ�s: 1) Ne communiquez jamais � quelqu'un tout votre savoir...
    Votre post est r�solu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de D�veloppez !

  5. #5
    Expert confirm�
    Avatar de Watilin
    Homme Profil pro
    En recherche d'emploi
    Inscrit en
    Juin 2010
    Messages
    3 100
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 36
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activit� : En recherche d'emploi

    Informations forums :
    Inscription : Juin 2010
    Messages : 3 100
    Par d�faut
    Moi je trouve que �a ressemble � de l'attente active... Boucler pour attendre quelque chose n'est pas une bonne fa�on de faire en JS, en g�n�ral.

    https://developer.mozilla.org/en/DOM...tComputedStyle
    La FAQ JavaScript � Les cours JavaScript
    Touche F12 = la console → l�outil indispensable pour d�velopper en JavaScript !

  6. #6
    Membre averti
    Homme Profil pro
    �tudiant
    Inscrit en
    D�cembre 2011
    Messages
    33
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Doubs (Franche Comt�)

    Informations professionnelles :
    Activit� : �tudiant
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : D�cembre 2011
    Messages : 33
    Par d�faut
    Excus� moi mais j'ai du mal � vous suivre ^^ ....
    O� voyez vous de l'attente ? ^^

    Je n'attends jamais, � partir d'un div donn�, je v�rifie si se div a une marge, si oui j'enregistre sa valeur. Une fois cela fait je r�cup�re le div parent, (soit le div qui contient notre premier div) Je v�rifie alors si il poss�de une marge .. etc

    Jusqu'� arriver au conteneur le plus haut dans la hi�rarchie, soit document sauf erreur.
    Afin de savoir si p.parentNode n'est pas null (en d'autre mot savoir si p est contenu par un autre �l�ment html et donc que je n'ai pas encore atteint le conteneur le plus haut dans la hi�rarchie) j'acc�de � une propri�t� du conteneur afin de savoir si elle existe. Si c'est le cas cela signifie que l'�l�ment parent existe. J'ai choisi style, mais j'aurais pu choisir autre chose. Si la propri�t� existe c'est que j'ai bien r�cup�r� un �l�ment html.
    J'avais trouv� cette exemple sur internet, cela fonctionne bien.

  7. #7
    Invit�
    Invit�(e)
    Par d�faut
    Citation Envoy� par Watilin Voir le message
    Moi je trouve que �a ressemble � de l'attente active...
    Je ne savais m�me pas que �a existait !
    Ca veut dire "aller se chercher une bi�re pendant les pubs, en attendant que le film recommence" ?

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. R�ponses: 2
    Dernier message: 10/12/2007, 22h02
  2. Acc�s � java depuis javascript
    Par kodo dans le forum Autres
    R�ponses: 2
    Dernier message: 28/09/2006, 20h25
  3. Accès serveur WEB depuis l'internet
    Par Ultra-FX dans le forum R�seau
    R�ponses: 2
    Dernier message: 26/05/2005, 17h00
  4. [servlet] feuille de styme css et javascript
    Par bob33 dans le forum Servlets/JSP
    R�ponses: 9
    Dernier message: 24/03/2004, 08h08

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