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

jQuery Discussion :

Desactivation de boutons


Sujet :

jQuery

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    jquery_java_student
    Inscrit en
    Septembre 2011
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : jquery_java_student
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2011
    Messages : 11
    Par défaut Desactivation de boutons
    Bonjour,
    Bon, je préviens je suis un gros débutant.
    Je sens que ce code va en faire frémir certains...

    Alors j'ai des boutons (btn1 et btn2 btn3). Je voudrais qu'en passant en rollover sur btn1 il se désactive (afin de ne pas répéter l'action si on y repasse dessus) et active le dernier bouton qui a été desactivé.


    Bref en gros :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
     
    var monniveauactuel = 0;
    var monniveauavant =0;
     
    $('#btn1')
    		.bind('mouseover', function(){
    		monniveauactuel=1;
    		$('btn'+monniveauactuel).attr("disabled", "false"); 
    		$('btn'+monniveauavant).attr("disabled", "true"); 
    		monniveauavant=monniveauactuel;
    	        faitmoiuntruc();
    		})
     
    $('#btn2')
    		.bind('mouseover', function(){
    		monniveauactuel=2;
    		$('btn'+monniveauactuel).attr("disabled", "false"); 
    		$('btn'+monniveauavant).attr("disabled", "true"); 
    		monniveauavant=monniveauactuel;
    	        faitmoiuntruc2();
    		})
     
    $('#btn3')
    		.bind('mouseover', function(){
    		monniveauactuel=3;
    		$('btn'+monniveauactuel).attr("disabled", "false"); 
    		$('btn'+monniveauavant).attr("disabled", "true"); 
    		monniveauavant=monniveauactuel;
    	        faitmoiuntruc3();
    		})
    Bien entendu ça ne marche pas. Et je n'y arrive pas pourtant je cherche mais je ne trouve pas...
    Déjà je pense que mon système "niveauactuel niveaupassé" c'est un peu barbare. Mais bon peut-être que ça peut attendre.
    Et puis aprés les .attr("disabled", "false"); je ne suis pas trés sûr que ce soit bon.

    En gros les boutons se désactivent une première fois mais il n'y pas de réactivation.

    Des indices, des engueulades, des trucs sympas ?

    Merci

  2. #2
    Membre averti
    Homme Profil pro
    jquery_java_student
    Inscrit en
    Septembre 2011
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : jquery_java_student
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2011
    Messages : 11
    Par défaut
    Bon, j'aurais mis du temps mais il y'a du progrès. Ca fonctionne avec .attr('disabled', 'disabled'); et .removeAttr('disabled');.


    Bref, en gros :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    var monniveauactuel = 0;
    var monniveauavant =0;
     
    $('#btn1')
    		.bind('mouseover', function(){
    		monniveauactuel=1;
    		$('btn'+monniveauactuel).attr('disabled', 'disabled');
    		$('btn'+monniveauavant).removeAttr('disabled');
    		monniveauavant=monniveauactuel;
    	        faitmoiuntruc();
    		})
     
    ////etcetc

    Ce problème étant résolu, j'aimerais avoir votre avis sur cette affaire de variable de niveau. C'est pas trés joli. Je suppose qu'il doit y avoir une manière de coder plus optimisé. Je devrais tendre vers quoi ?

  3. #3
    Membre averti
    Homme Profil pro
    jquery_java_student
    Inscrit en
    Septembre 2011
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : jquery_java_student
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2011
    Messages : 11
    Par défaut
    Hum Malgré le nombre de lectures il n'y pas eu de réponses.

    Donc je suppose que je dois mal formuler...Pourtant je sens bien que je fais n'importenawak même si ça marchouille à peu prés.

    Je recapépète :

    J'ai 4 boutons.
    Avec pour id btn1 btn2 btn3 btn4.
    En passant en mouseover sur un bouton je veux savoir sur quel bouton j'ai fait le dernier mouseover... (afin de le réactiver, cfr plus haut)

    Basiquement, je me dis que je crée une variable "niveauactuel" et "niveaupassé".

    niveauactuel=1 si mouseover btn1 et niveaupassé=niveauactuel
    niveauactuel=2 si mouseover btn2
    niveauactuel=3 si mouseover btn3...

    Maintenant sur un mouseover :
    Je peux effectuer des actions sur btn actuel avec
    = "btn"+niveauactuel
    Je peux effectuer des actions sur btn passé avec
    = "btn"+niveaupassé.

    Mais bon je sens que c'est un peu tiré par les cheveux...
    Comment optimiser ce code ? Quelle est l'astuce ?

Discussions similaires

  1. comment activer/desactiver un bouton de controle
    Par OyyoDams dans le forum MFC
    Réponses: 17
    Dernier message: 09/04/2006, 11h15
  2. Réponses: 10
    Dernier message: 02/03/2006, 16h12
  3. Réponses: 13
    Dernier message: 12/01/2006, 21h06
  4. Réponses: 2
    Dernier message: 24/10/2005, 13h01
  5. [QUICK REPORT] DESACTIVER LE BOUTON DE REDUCTION
    Par freud dans le forum Bases de données
    Réponses: 11
    Dernier message: 26/07/2004, 00h43

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