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 :

Raccourcis et Javascript


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2006
    Messages
    170
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 170
    Par défaut Raccourcis et Javascript
    Bonsoir,

    Voila, en faite, j'essaye de créer mes propres raccourcis pour simplifier mon code Js mais j'ai un soucis pour certains éléments...

    Par exemple si je fais ça, y'a pas de problème :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    function dG(barre) //récupère un élément par son id
    	{ return document.getElementById(barre); }
    Par contre si j'essaye de rajouter la largeur d'un élément, bah ca marche pô :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    function dGW(barre) //récupère la largeur d'un élément par son id
    	{ return document.getElementById(barre).style.width; }
    Est ce que quelqu'un saurait comment résoudre ce problème (enfin si c'est pôssible) ?

    Merci!

  2. #2
    Membre averti
    Inscrit en
    Juin 2006
    Messages
    62
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 62
    Par défaut
    je serai toi, j'ajouterai une condition du style:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    function dGW(barre)  {
         var maBarre = document.getElementById(barre);
         if (maBarre != null) {
         return maBarre.style.width; 
        } else {
         return null;
    }

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    36
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Somme (Picardie)

    Informations forums :
    Inscription : Mars 2002
    Messages : 36
    Par défaut
    essaye peut être comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    function dGW(barre) //récupère la largeur d'un élément par son id
    	{ return document.getElementById(barre).offsetWidth; }

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2006
    Messages
    170
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 170
    Par défaut
    Citation Envoyé par mr32
    essaye peut être comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    function dGW(barre) //récupère la largeur d'un élément par son id
    	{ return document.getElementById(barre).offsetWidth; }
    Heu, "offSetWidth" donne la largeur d'un élément, tandis que style.width donne la position en abscisse de l'élement...

    Ce sont deux choses différentes, malgré qu'il soient tous les deux compatibles Mozilla et IE

    Ensuite, je précise que le style.width, ca serait pour affecter une veleur (et non la retourner, j'ai mal précisé)...

    D'après certains avis sur le net, le setAttribute est assez buggé envers IE, d'autre part il y a aussi le "setCssTexte" mais là encore je suis perdu...

    Pour le moment, ca fonctionne avec mon style.width, et mes 2000lignes de codes sont construits avec...

    je pourrais faire ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    function dGW(barre, styl)
    	{  document.getElementById(barre).style.width = styl ; }
    mais a ce moment là faut que je modifie toute mes lignes qui sont construit comme suit :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    dG('monElement').style.width = 100 +'px' ;
    ca m'obligerais à faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    dGW('monElement' , '100px');
    Mais là d'une part ca va me prendre des heure pour modifier toutes mes lignes, et d'autre part, pas si sûre que a simplifie mon code...

    Moi je voudrais juste obtenir ça en faite :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    dGW('monElement') = 100+'px'
    Bah là ca serait nickel, car je fais un "remplacer tout" et ca me prendre 2 sec...

    Si vous croyez que y'a moyen d'obtenir ce résultat ?

  5. #5
    Expert confirmé
    Avatar de Auteur
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    7 660
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 660
    Par défaut
    Heu, "offSetWidth" donne la largeur d'un élément, tandis que style.width donne la position en abscisse de l'élement...
    style.width te permet de préciser la largeur d'un élément, offsetWidth retourne la largeur de l'élément ;
    style.height te permet de préciser la hauteur d'un élément, offsetHeight retourne la hauteur de l'élément.

    style.left définit l'abscisse de l'élément ;
    style.top définit l'ordonnée de l'élément, l'origine (0,0) étant le coin en haut à gauche de la fenêtre du navigateur.

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2006
    Messages
    170
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 170
    Par défaut
    Citation Envoyé par Auteur
    style.width te permet de préciser la largeur d'un élément, offsetWidth retourne la largeur de l'élément ;
    style.height te permet de préciser la hauteur d'un élément, offsetHeight retourne la hauteur de l'élément.

    style.left définit l'abscisse de l'élément ;
    style.top définit l'ordonnée de l'élément, l'origine (0,0) étant le coin en haut à gauche de la fenêtre du navigateur.
    autant pour moi, me suis emmeler...j'était fatigué

  7. #7
    Expert confirmé
    Avatar de Auteur
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    7 660
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 660
    Par défaut
    Citation Envoyé par Alexino2
    Par contre si j'essaye de rajouter la largeur d'un élément, bah ca marche pô :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    function dGW(barre) //récupère la largeur d'un élément par son id
    	{ return document.getElementById(barre).style.width; }
    Est ce que quelqu'un saurait comment résoudre ce problème (enfin si c'est pôssible) ?
    Les attrbtus CSS sont inaccessibles par ce biais...Regarde voir la méthode de mr32. Mais, là les navigateurs donnent des résultats différents.

    Renseigne toi sur la méthode getAttribute() qui je crois donne de bons résultats.

Discussions similaires

  1. JavaScript raccourci getElementById().value
    Par setni dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 21/01/2014, 11h17
  2. Raccourci URL Javascript
    Par twingo321 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 27/07/2007, 16h03
  3. Raccourci clavier sous Javascript
    Par MayOL69bg dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 02/04/2007, 14h48
  4. Raccourci sur le bureau
    Par senateur dans le forum Langage
    Réponses: 7
    Dernier message: 05/09/2002, 15h17
  5. faire de la touche F1 une touche de raccourci?
    Par sb dans le forum Composants VCL
    Réponses: 3
    Dernier message: 06/08/2002, 10h11

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