Rechercher : dans
Par :

Javascript effets SCRIPTACULOUS en boucle

Dernière réponse le 11 aoû 2009 à 13:14:33 amaru1987, le 11 aoû 2009 à 13:09:27 
 Signaler ce message aux modérateurs

Bonjour,

J'utilise la librairie scriptaculous pour faire des effets d'affichage sur ma page web. J'ai testé les effets un a un et ils fonctionnent tous (apparition / disparition en fondu).
Ce que je voudrais c'est qu'ils se déclenchent au chargement de la page (onload) et se reproduisent sans arrêt un peu comme une animation infinie.
J'ai pensé à la fonction setTimeOut comme ceci :

<script type="text/javascript">
	function appear()
	{
	new Effect.Appear('div1', {duration:3, fps:25, from:0.0, to:1.0, delay:1});
	new Effect.Appear('div2', {duration:3, fps:25, from:0.0, to:1.0, delay:2});
	new Effect.Appear('div3', {duration:3, fps:25, from:0.0, to:1.0, delay:3});
	new Effect.Fade('div1', {duration:3, fps:25, from:1.0, to:0.0, delay:4});
	new Effect.Fade('div2', {duration:3, fps:25, from:1.0, to:0.0, delay:5});
	new Effect.Fade('div3', {duration:3, fps:25, from:1.0, to:0.0, delay:6});
	setTimeout(appear(),7000);
	}
	appear();
</script>

Malheureusement ca me génère une boucle infinie qui empêche l'affichage même de ma page et le blocage de mon navigateur.
J'ai testé aussi en précisant le déclenchement de la fonction en au chargement de la page
<body onload="appear()"
mais la même erreur se produit.
L'erreur est bien compréhensible mais justement est-ce que quelqu'un aurait une solution pour ce que je souhaite faire ?

Merci bien,
Configuration: Windows XP
Firefox 3.0.13

Meilleures réponses pour « Javascript effets SCRIPTACULOUS en boucle » dans :
Javascript - Librairies d'effets pour vos images Voir Au gré de vos explorations du web, vous avez vu de superbes effets de présentation des images. Et ça vous plairaît bien de pouvoir proposer les mêmes à vos visiteurs. Voici quelques solutions en Javascript couplées à des CSS. Elles sont plus...
Librairies Javascript (Prototype/Scriptaculous/Yahoo UI, etc.) VoirPourquoi réinventer la roue alors qu'il existe une multitude de librairies offrant des fonctionnalités avancées ? Néanmoins, devant la multitude de librairies, il vaut mieux savoir en quelques lignes quelles sont leurs fonctionnalités, leurs atouts...
[Webmaster] Faire une redirection VoirLes différentes solutions sont présentées de la meilleure (.htaccess) à la moins bonne (JavaScript). Un .htaccess Le .htaccess est à placer dans le répertoire qui doit être redirigé. On applique une redirection de cette façon : RedirectPermanent...
Javascript - Les structures conditionnelles VoirQu'est-ce qu'une structure conditionnelle? On appelle structure conditonnelle les instructions qui permettent de tester si une condition est vraie ou non, ce qui permet notamment de donner de l'interactivité à vos scripts. L'instruction...
Javascript - Les événements VoirQu'appelle-t-on un événement? Les événements sont des actions de l'utilisateur, qui vont pouvoir donner lieu à une interactivité. L'événement par excellence est le clic de souris, car c'est le seul que le HTML gère. Grâce au Javascript il est...
Javascript - Les variables VoirLe concept de variable Une variable est un objet repéré par son nom, pouvant contenir des données, qui pourront être modifiées lors de l'exécution du programme. En Javascript, les noms de variables peuvent être aussi long que l'on désire,...

1

 avion-f16, le 11 aoû 2009 à 13:14:33

Essaye avec un boucle while et appelles ta fonction avant </body></html>:

<script type="text/javascript">
function appear() {
	continuer = true;
	while(continuer == true) {
		new Effect.Appear('div1', {duration:3, fps:25, from:0.0, to:1.0, delay:1});
		new Effect.Appear('div2', {duration:3, fps:25, from:0.0, to:1.0, delay:2});
		new Effect.Appear('div3', {duration:3, fps:25, from:0.0, to:1.0, delay:3});
		new Effect.Fade('div1', {duration:3, fps:25, from:1.0, to:0.0, delay:4});
		new Effect.Fade('div2', {duration:3, fps:25, from:1.0, to:0.0, delay:5});
		new Effect.Fade('div3', {duration:3, fps:25, from:1.0, to:0.0, delay:6});
		setTimeout(appear(),7000);
	}
}
</script>
Un ordinateur ne fait pas ce que tu veux ... mais ce que tu lui dis de faire.

Répondre à avion-f16