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 :

D�finir une r�gle Css avec Javascript


Sujet :

JavaScript

  1. #1
    Membre Expert
    Avatar de rodolphebrd
    Homme Profil pro
    Ind�pendant
    Inscrit en
    Novembre 2012
    Messages
    2 336
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activit� : Ind�pendant
    Secteur : Conseil

    Informations forums :
    Inscription : Novembre 2012
    Messages : 2 336
    Par d�faut D�finir une r�gle Css avec Javascript
    Bonjour, je suis au tout d�but de la d�couverte de javascript et je viens vers vous pour trouver des r�ponses.
    J'ai cru que je n'aurais pas besoin de javascript jusqu'� ce que les Css (que je maitrise) atteignent leurs limites. Je n'aurais jamais cru que je me lancerais sur l'apprentissage de ce langage car je ne m'en sentais vraiment pas capable.
    J'ai donc suivi la formation lumineuse de M.Mouronval (javascript) sur Video2Brain et je suis actuellement sur un livre d'apprentissage des bases.

    Pardonnez mes questions trop triviales mais je ne parviens pas � m'en sortir.
    Je cherche � d�finir une propri�t� css via javascript.

    En fait je souhaiterais que ma valeur du margin-top de ma balise id=nav soit celle d'une hauteur ou largeur de div quelconque.
    J'ose vous pr�sentez ce que j'ai d�j� fait...
    je souhaiterais ceci:
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    document.getElementById('nav').style.marginTop = document.getElementById('lambda').style.Height
    J'ai pens� utiliser inserRule mais je coince quand je veux param�trer margin-top dans ce style :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    insertRule('#nav{margin-top: '+i+';}', 0);
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    var i= document.getElementById('lambda').style.Height
    J'ai pas mal ratiss� la toile avant de poster ce message...
    Suis-je sur le bonne voie?

    Merci pour vos r�ponses �clair�es.

  2. #2
    R�dacteur/Mod�rateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Par d�faut
    Bonjour

    document.getElementById('lambda').style.Height
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    document.getElementById('lambda').style.height
    et insertRule est une m�thode qui devrait �tre appel� � partir du styleSheet cible.

    A+.

  3. #3
    Membre Expert
    Avatar de rodolphebrd
    Homme Profil pro
    Ind�pendant
    Inscrit en
    Novembre 2012
    Messages
    2 336
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activit� : Ind�pendant
    Secteur : Conseil

    Informations forums :
    Inscription : Novembre 2012
    Messages : 2 336
    Par d�faut
    Merci pour la r�ponse, j'avais fait une erreur pour la majuscule du height en recopiant le code pour le message.

    Mais mon probl�me provient du param�trage de margin-top dans insertRule

  4. #4
    Mod�rateur

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

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 211
    Par d�faut
    Bonsoir,
    tu ne peux avoir acc�s � objet.style.height que si le style est inline, d�clar� dans la balise, ou si tu l'as d�j� affect�e via javascript.
    Si celle ci est d�clar�e dans la partie style du document il te faut passer par un getComputedStyle, ou encore currentStyle pour IE<9.

    Concernant l'utilisation de la m�thode insertRule il faut l'appliquer sur un styleSheet object, comme te l'a indiqu� andry.aime.

    Donc la syntaxe sera du type
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    oSheet.insertRule('#nav{margin-top:' +hauteur +';}', 0);

  5. #5
    Membre Expert
    Avatar de rodolphebrd
    Homme Profil pro
    Ind�pendant
    Inscrit en
    Novembre 2012
    Messages
    2 336
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activit� : Ind�pendant
    Secteur : Conseil

    Informations forums :
    Inscription : Novembre 2012
    Messages : 2 336
    Par d�faut
    Height est d�clar� pour la balise image (id="apple") en question

    voici la portion de code qui ne fonctionne pas:
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    var u = document.images.apple.height;
    document.styleSheets[0].insertRule('#nav{margin-top: '+u+';}', 0);
    J'ai d�j� essay� avec getComputedStyle....
    C'est: ' +hauteur +' qui ne veut pas fonctionner.
    J'esp�re que je ne pose pas de questions redondantes.

  6. #6
    Mod�rateur

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

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 211
    Par d�faut
    pour r�cup�rer la hauteur � coup s�r il est suffisant de faire
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    var hauteur = document.getElementById('lambda').offsetHeight;
    et pour l'affecter
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    document.getElementById('nav').style.marginTop = hauteur +'px'; // IMPORTANT NE PAS OMETTRE L'UNITE

  7. #7
    Membre Expert
    Avatar de rodolphebrd
    Homme Profil pro
    Ind�pendant
    Inscrit en
    Novembre 2012
    Messages
    2 336
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activit� : Ind�pendant
    Secteur : Conseil

    Informations forums :
    Inscription : Novembre 2012
    Messages : 2 336
    Par d�faut
    Merci NoSmoking;

    C'est parfaitement ce que je cherchais.

    Bravo!
    Bonne soir�e.

    PS:je ne sais pas si on peut marquer le message comme r�solu.

  8. #8
    Mod�rateur

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

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 211

  9. #9
    Membre Expert
    Avatar de rodolphebrd
    Homme Profil pro
    Ind�pendant
    Inscrit en
    Novembre 2012
    Messages
    2 336
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activit� : Ind�pendant
    Secteur : Conseil

    Informations forums :
    Inscription : Novembre 2012
    Messages : 2 336
    Par d�faut
    Vous �tes efficace sur ce forum:
    premi�re visite r�ussie...

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

Discussions similaires

  1. Affectation d'une r�gle CSS externe avec javascript
    Par DexterV dans le forum G�n�ral JavaScript
    R�ponses: 2
    Dernier message: 08/04/2010, 17h46
  2. Eviter le scintillement lors de manip css avec javascript...
    Par MasterOfChakhaL dans le forum G�n�ral JavaScript
    R�ponses: 7
    Dernier message: 26/04/2006, 20h11
  3. Appeler une classe CSS avec Javascript
    Par p0Kep0K dans le forum Mise en page CSS
    R�ponses: 2
    Dernier message: 13/02/2006, 14h50
  4. une "division flottante" avec javascript
    Par maniaco_jazz dans le forum G�n�ral JavaScript
    R�ponses: 7
    Dernier message: 21/12/2005, 11h32
  5. D�finir une appli JEE avec JB7 Entreprise
    Par polo54 dans le forum JBuilder
    R�ponses: 4
    Dernier message: 10/06/2003, 11h48

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