activer/désactiver liens

Invité
Invité n'ayant pas de compte PHPfrance

15 sept. 2006, 13:47

bonjour à tous,

j'ai construit un slide show avec deux liens html:
1- "start" pour démarrer
2- "stop" pour arrêter

Mon slide show s'affolle quand on clique plusieurs fois d'affilée sur le bouton "start".

Comment faire en javascript pour que "start" soit désactivé quand on clique dessus, et qu'il se réactive quand on clique sur "stop"?

J'ai pensé à la solution .visible="false" mais ça serait mieux que les liens ne disparaissent pas quand il sont désactivés.

Merci pour vos réponses.

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

15 sept. 2006, 18:59

Salut,
Avec une petite fonction c'est possible :
function disable(val1,val2)
{
	var b_id = 'b_'+val1;	
	var b_id2 = 'b_'+val2;	
	
	document.getElementById(b_id).disabled = true ;
	document.getElementById(b_id2).disabled = false ;
}
HTML:
<input type='button' id='b_1' value="start" onclick="disable(1,2)" disabled='disabled'>
<input type='button' id='b_2' value="stop" onclick="disable(2,1)">
dans le genre :wink:

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

16 sept. 2006, 10:37

Ce que tu peux faire également c'est déclarer un variable globale à ton script, tu mets celle-ci à faux lorsque le slideshow commence, à vrai lorsqu'il se termine, et au début de ta fonction, tu tests cette valeur, si elle est fausse tu sorts de la fonction ce qui évite de la lancer deux fois

Code : Tout sélectionner

var slideShowDispo = true; function slideShow() { if(!slideShowDispo) // test si la fonction est vérouillée return; slideShowDispo = false; // vérouille la fonction .... slideShowDispo = true; // dévérouille la fonction }