Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > JavaScript > Bibliothèques & Frameworks > jQuery
jQuery Forum d'entraide sur le framework jQuery. Avant de poster : Tutoriels jQuery, FAQ jQuery, Tous les tutoriels JavaScript, Toutes les FAQ JavaScript
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 21/09/2011, 01h20   #1
Invité de passage
 
Homme
jquery_java_student
Inscription : 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
Points : 2
Points : 2
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 :
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
smokingsmile est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/09/2011, 03h01   #2
Invité de passage
 
Homme
jquery_java_student
Inscription : 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
Points : 2
Points : 2
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 :
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 ?
smokingsmile est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/09/2011, 14h32   #3
Invité de passage
 
Homme
jquery_java_student
Inscription : 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
Points : 2
Points : 2
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 ?
smokingsmile est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 18h53.


 
 
 
 
Partenaires

Hébergement Web