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 :

Test conditionnel sur currentStyle


Sujet :

JavaScript

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2013
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2013
    Messages : 5
    Points : 5
    Points
    5
    Par défaut Test conditionnel sur currentStyle
    Salut à tous,
    J'ai un problème et après avoir écrit la condition sous différentes formes:
    avec des if else if.... des ternaires, rajout de condition et etc
    J'arrive à un fonctionnellement sous Firefox, safari et google.
    Pour Ie et Opera, il rentre dans la condition suivante :
    cible.currentStyle && cible.currentStyle !=='none'
    alors que la valeur est égale à none !!!!
    La fonction permet de déterminer la valeur de la propriété (passer en paramètre) pour l’élément cible (passer en paramètre).
    Je regarde d'abord dans style sinon dans la feuille css sinon 0px par défault.

    Voici le code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    value = function(property,cible){
    	switch(property){
    		case 'width': return {t : cible.offsetWidth, i : 'W'} ;
    		case 'height': return {t : cible.offsetheight, i : 'H'};
    		case 'max-width': var val = '0px';if(cible.style.maxWidth){alert('cible.style');val = cible.style.maxWidth;}else if(cible.currentStyle && cible.currentStyle !=='none'){val = cible.currentStyle.maxWidth;alert('currentStyle'+' '+val); }else if(getComputedStyle(cible,null).getPropertyValue('max-width') && getComputedStyle(cible,null).getPropertyValue('max-width') !=='none'){alert('getComputedStyle');val = getComputedStyle(cible,null).getPropertyValue('max-width');};return {t : val, i : 'W'} ;
    		case 'top': return {t : myFonctions.getPos(cible).t, i : 'H'};
    		case 'bottom': return {t : myFonctions.getPos(cible).b, i : 'H'};
    		case 'left': return {t : myFonctions.getPos(cible).l, i : 'W'};
    		case 'right': return {t : myFonctions.getPos(cible).r, i : 'W'};
    	}
    };
    var tata = value('max-width',document.getElementById('cible3'));
    alert(tata.t);
    j'ai aussi essayé cela :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    value = function(property,cible){
    	switch(property){
    		case 'width': return {t : cible.offsetWidth, i : 'W'} ;
    		case 'height': return {t : cible.offsetheight, i : 'H'};
    		case 'max-width': var val = cible.style.maxWidth || cible.currentStyle.maxWidth || getComputedStyle(cible,null).getPropertyValue('max-width') || 0;return {t : val, i : 'W'} ;
    		case 'max-height': return {t : cible.offsetWidth, i : 'W'} ;
    		case 'top': return {t : myFonctions.getPos(cible).t, i : 'H'};
    		case 'bottom': return {t : myFonctions.getPos(cible).b, i : 'H'};
    		case 'left': return {t : myFonctions.getPos(cible).l, i : 'W'};
    		case 'right': return {t : myFonctions.getPos(cible).r, i : 'W'};
    	}
    };
    Ne marche pas non plus....

    Merci de m'avoir lu et dans l'attente de vos lumiére.

  2. #2
    Membre émérite
    Avatar de Kaamo
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    1 165
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 165
    Points : 2 778
    Points
    2 778
    Par défaut
    alors que la valeur est égale à none !!!!
    La valeur, oui. Mais le type ??

    != compare les valeurs
    !== compare les valeurs et les types.

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2013
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2013
    Messages : 5
    Points : 5
    Points
    5
    Par défaut
    Salut,
    Merci pour ta réponse. J'ai essayé les deux mais le résultat est le même, ils (opera et Ie) rentrent quand même dans la condition.

  4. #4
    Membre émérite
    Avatar de Kaamo
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    1 165
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 165
    Points : 2 778
    Points
    2 778
    Par défaut
    cible.currentStyle n'est donc pas égal à 'none'. Tu as essayé d'afficher ce qu'il contient ?

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2013
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2013
    Messages : 5
    Points : 5
    Points
    5
    Par défaut
    Oulalalalalalala quelle erreur bête....
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    currentStyle.maxWidth !== 'none'
    Alors que moi je tester currentStyle et afficher la valeur de currentStyle.maxWidth


    Merci beaucoup, cela fait 3 h que je cherche et je suis passé à coté

    merci beaucoup pour ton aide

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

Discussions similaires

  1. Réponses: 7
    Dernier message: 03/05/2008, 00h40
  2. [VBA-E] - Probleme sur un test conditionnel
    Par ekynoxx dans le forum Macros et VBA Excel
    Réponses: 17
    Dernier message: 09/05/2007, 11h05
  3. Réponses: 4
    Dernier message: 15/11/2005, 18h53
  4. Realiser des tests exhaustifs sur les String
    Par Sarrus dans le forum Langage
    Réponses: 9
    Dernier message: 07/07/2005, 11h52
  5. Test if sur des float
    Par Minuit dans le forum Linux
    Réponses: 2
    Dernier message: 26/03/2005, 13h08

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