11523 sujets

JavaScript, DOM et API Web HTML5

Hello, j'ai un menu horizontal qui appelle des fonctions (des fades de DIVs, avec mootools) lorsqu'on survole les éléments du menu.

Problème : si l'on va trop vite (et que l'on passe sur les autres boutons avant d'arriver au bon), mootools ne sait plus où donner de la tête et flicke un peu dans tous les sens.

Je me demandais donc s'il était possible de donner un délai avant le début de la fonction, par exemple attendre qu'on se soit arrêté sur le bouton une demi seconde avant de lancer le fade ?
Modifié par gordie (24 Oct 2007 - 18:34)
gordie a écrit :
mootools ??
flicke un peu dans tous les sens ??

Je crains que des liens ne soient nécessaires pour éclairer nos chandelles Smiley confus
Je veux bien, merci Smiley cligne

http://tinyurl.com/2nufx3

C'est peut être ma fonction qui est bizarre ?

<script type="text/javascript" language="JavaScript">
<!--

function MTFade (div,prop,val) {
	new Fx.Style(div, prop, {duration: 250} ).start(val);
}

function ShowMenu(divnum) {
	
	var divcol1 = '#ff6600';
	var divcol2 = '#cc0000';
	var divcol3 = '#8b008b';
	var divcol4 = '#330098';
	var divcol5 = '#3366ff';

	for (i=1; i<6 ; i++) {
		
		var menu1 = $('menu1_item'+i);
		var menu2 = $('menu2_item'+i);
		var couleur = eval('divcol' + i)
		
		if (i==divnum) {
			MTFade (menu1, 'background-color', couleur);
			MTFade (menu2, 'opacity',1);
		} else {
			MTFade (menu1, 'background-color', '#000');
			MTFade (menu2, 'opacity',0);
		}
		
	}


}
//-->
</script>
Slt,

je pense que la solution tourne autour de setTimout. Tu devrais faire un truc dans le style:


document.getElementById('monLien').onmouseover = function(){
setTimeout("taFonction('argument1', ...)", 500);
}


500 est le délai avant d'exécuter "taFonction" en millisecondes


+++