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 à propriété css


Sujet :

JavaScript

  1. #1
    En attente de confirmation mail
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    77
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2005
    Messages : 77
    Points : 69
    Points
    69
    Par défaut accès à propriété css contenue dans un fichier externe
    Bonjour,

    j'ai un code qui permettrais de faire un drag & drop.

    function beginDrag(bloc,e){
    objectToDrag = document.getElementById(bloc);
    alert(objectToDrag.style.left);
    }
    Ceci ne me renvoit rien. A contrario, lorsque j'ai le code suivant :
    function beginDrag(bloc,e){
    objectToDrag = document.getElementById(bloc);
    objectToDrag.style.left = "20px";
    alert(objectToDrag.style.left);
    }
    La mon alert m'affiche "20px".
    Ca a l'air de rien comme ca, mais en réalité cela m'empeche de faire mon drag & drop puisque je ne sais ou se trouve le bloc a déplacer ...

  2. #2
    Modérateur
    Avatar de Bisûnûrs
    Profil pro
    Développeur Web
    Inscrit en
    Janvier 2004
    Messages
    9 868
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2004
    Messages : 9 868
    Points : 16 258
    Points
    16 258
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    objectToDrag.style.left
    Ce morceau de code va chercher la propriété left dans l'attribut style de ton élément, par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <div style="left:20px"></div>
    Si tu n'as pas ça dans ton code il faut que tu récupères la position de ton élément dans l'écran et non par une propriété CSS.
    Pour ça, tu peux fouiller la FAQ Javascript pour connaître les coordonnées d'un élément dans ta page.

  3. #3
    Membre averti Avatar de Tdeny
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    287
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 287
    Points : 311
    Points
    311
    Par défaut Problème sur ID
    Bonjour,


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    function beginDrag(bloc,e){
    objectToDrag = document.getElementById(bloc).style.left;
    alert(objectToDrag);
    }
    Je corrige ce message. bloc étant transmis ici en variable comme nom de l'id, la valeur transmise doit être 'bloc', ou n'importe quoi bien entendu... 'x'
    Vendez votre habileté et achetez l’ahurissement.
    L’habileté est seulement l’opinion, l’ahurissement l’intuition.
    Djalal–eddine Roumi

  4. #4
    Modérateur
    Avatar de Bisûnûrs
    Profil pro
    Développeur Web
    Inscrit en
    Janvier 2004
    Messages
    9 868
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2004
    Messages : 9 868
    Points : 16 258
    Points
    16 258
    Par défaut
    @Tdeny : Heu, tu dis exactement la même chose, seulement tu affectes différemment la variable objectToDrag.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    objectToDrag = document.getElementById('bloc').style.left;
    alert(objectToDrag);
    C'est la même chose que
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    objectToDrag = document.getElementById('bloc');
    alert(objectToDrag.style.left);
    Et moi j'étais dans le deuxième cas, celui présenté par l'auteur du topic.

  5. #5
    Membre averti Avatar de Tdeny
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    287
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 287
    Points : 311
    Points
    311
    Par défaut
    Oui, je viens de corriger ce message, un peu tard...
    La correction est à discuter...
    Vendez votre habileté et achetez l’ahurissement.
    L’habileté est seulement l’opinion, l’ahurissement l’intuition.
    Djalal–eddine Roumi

  6. #6
    En attente de confirmation mail
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    77
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2005
    Messages : 77
    Points : 69
    Points
    69
    Par défaut
    Justement, dans ma css j'ai bel et bien affecté la propriété "left" en lui spécifiant une valeur... alors pk n'arrive t'il pas à la récupérer???

  7. #7
    Membre confirmé Avatar de Jabbal'H
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2004
    Messages
    403
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2004
    Messages : 403
    Points : 580
    Points
    580
    Par défaut
    Ce n'est pas parce que c'est dans une CSS, et non directement intégré dans ta div ?
    En faisant cà :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    objectToDrag.style.left = "20px";
    je pense que tu attribus à ta div la propriété style left:"20".
    donc après elle éxiste bel et bien, contrairement au cas ou cette propriété est dans ta css.
    Je pense que ca vient de là.
    " Je préfère comprendre les gens qui ne me comprennent pas "

  8. #8
    En attente de confirmation mail
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    77
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2005
    Messages : 77
    Points : 69
    Points
    69
    Par défaut
    J'ai enfin compris,
    il faut pour accéder aux propriétés css d'une feuille utiliser la fonction getComputedStyle sur mozilla et currentStyle pour IE.
    Voila donc l'exemple qui m'a permis de faire ce que je souhaitais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    objectToDrag = document.getElementById(bloc).parentNode;
    	objectToDragStyle = objectToDrag.currentStyle || window.getComputedStyle(objectToDrag, null);
    Voili voilou, on sais jamais, ca peut servir

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

Discussions similaires

  1. [CSS/Javascript] Changement des propriété CSS dynamiquement
    Par heladar dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 06/02/2009, 12h33
  2. propriété css imprimante
    Par italiasky dans le forum Mise en page CSS
    Réponses: 6
    Dernier message: 19/03/2007, 16h56
  3. Propriété CSS proche de margin
    Par danyboy85 dans le forum Mise en page CSS
    Réponses: 5
    Dernier message: 22/12/2006, 09h43
  4. Changer une propriété css d'un div en cliquant sur un lien
    Par Le Mage Noir dans le forum Mise en page CSS
    Réponses: 5
    Dernier message: 26/01/2006, 15h13

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