11548 sujets

JavaScript, DOM et API Web HTML5

Bonjour à tous,

Je test actuellement quelque chose de simple mais qui ne fonctionne pas Smiley decu

Je cherche "juste" à faire un fade(out) d'un lien, de changer le texte du lien et de faire un fade(in).

Premier problème :

	var exampleFunction = function() {
		$('monId').fade('out');
		$('monId').fade('in');
		//setTimeout("maFct()",500);
	};
	
	$('monId').addEvent('click', exampleFunction);


Si je fais ceci rien ne bouge sauf le texte donc je n'ai pas "d'effet de fondu".

Donc l'astuce je fais un setTimeout qui apelle une fonction pour faire le fade(in) au bout de 500ms et là ca fonctionne (note: si je met une valeur < 500ms ça ne marche pas !)

Admettons que je garde le code (pas propre), ça marche.

Deuxième problème sous ie :

Lorsque je clic sur ma div pour déclencher le fade la police "change" comme ci je passais de bold à normal ( je précise que je fais le test avec aucun style). Sous FF ça marche nikel !

merci pour votre aide
Salut,
euh... je ne trouve pas ta fonction "fade()" dans la doc de mootools c'est un plugin ?
et aussi que fait exactement ta fonction 'maFct()'
masseuro a écrit :
Salut,
euh... je ne trouve pas ta fonction "fade()" dans la doc de mootools c'est un plugin ?
et aussi que fait exactement ta fonction 'maFct()'


voici une démo de la fonction fade();
la fonction "mafct" sert juste à faire un $('monId').fade('in'); et change le texte avec un innerHTML.

Note : Sur un site je suis tombé sur l'équivalent de cette fonction mais en jquery et apparemment le problème est le même avec ie ! Est ce un problème connu ?
est-ce normal que dans ta fonction tu fais le 'ou' et le 'in' en même temps ?
peut-être que ça marche mais que tu n'as pas le temps de le voir ?
enlèves-en un.
masseuro a écrit :
est-ce normal que dans ta fonction tu fais le 'ou' et le 'in' en même temps ?
peut-être que ça marche mais que tu n'as pas le temps de le voir ?
enlèves-en un.


C'est pour ça que je fais un timeout même si je ne trouve pas ça logique. en effet si je met qu'un seul effet j'ai largement le temps de le voir donc bon ....

Sinon le problème de la police est vraiment étrange ....
Essaye ça

var exampleFunction = function() {


	var fx = new Fx.Tween($('monId'),{
		duration: 500,
		onComplete: function(){ 
			$('monId').fade('in');
		}
	});
	fx.start('opacity',1,0);

};


$('monId').addEvent('click', exampleFunction);