Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > JavaScript > Bibliothèques & Frameworks > Prototype & Script.aculo.us
Prototype & Script.aculo.us Forum d'entraide sur les frameworks Prototype et Script.aculo.us
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 11/05/2006, 17h06   #1
Membre actif
 
Avatar de yotsumi
 
Julien L
Inscription : mars 2005
Messages : 187
Détails du profil
Informations personnelles :
Nom : Julien L
Âge : 22
Localisation : France, Hérault (Languedoc Roussillon)

Informations forums :
Inscription : mars 2005
Messages : 187
Points : 154
Points : 154
Envoyer un message via MSN à yotsumi
Par défaut scriptaculous : Gérer les "queue"

Bonjour à vous !

J'aurais besoin d'aide pour l'utilisation de la classe Script.Aculo.Us si c'est possible.

Voilà mon problème : J'ai un div , j'aimerais qu'il deviennent invisible ( fade / scroll ), que le texte qu'il contient change ( sans que l'utilisateur ne s'en apercoive donc ), et qu'il réaparaisse ,

Je pensais à ce genre de code, mais le changement se fait avant le début du premier effet, donc c'est visible par l'utilisateur ( et c'est trés moche ! )
Code :
1
2
3
    new Effect.SlideUp('div', {duration:1.5, queue: 'front' });
    document.getElementById("div").innerHTML=unescape(result);
    new Effect.BlindDown('div', { duration:1.5, queue: 'end' });
Actuellement j'y arrive en utilisant 2 div que j'ouvre/ferme alternativement mais sa tient plus du bricolage que d'autre chose, alors j'aimerais savoir si il est possible de faire mieux.
Code :
1
2
3
    new Effect.SlideUp('div1', {duration:1.5, queue: 'front' });
    document.getElementById("div2").innerHTML=unescape(result);
    new Effect.BlindDown('div2', { duration:1.5, queue: 'end' });
Merci !
yotsumi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/05/2006, 17h23   #2
Membre actif
 
Homme
Inscription : avril 2006
Messages : 244
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Calvados (Basse Normandie)

Informations forums :
Inscription : avril 2006
Messages : 244
Points : 199
Points : 199
Oui il n'attends pas la fin de l'effet avant de passer à autre chose.
Mets une tempo (après chaque effet) dont la durée est supérieure ou égale à celle de l'effet.

Code :
1
2
3
4
5
6
7
8
9
 
function pausecomp(millis) 
{
        date = new Date();
        var curDate = null;
 
        do { var curDate = new Date(); } 
	while(curDate-date < millis);
    }
guy777 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/05/2006, 20h02   #3
Membre actif
 
Avatar de yotsumi
 
Julien L
Inscription : mars 2005
Messages : 187
Détails du profil
Informations personnelles :
Nom : Julien L
Âge : 22
Localisation : France, Hérault (Languedoc Roussillon)

Informations forums :
Inscription : mars 2005
Messages : 187
Points : 154
Points : 154
Envoyer un message via MSN à yotsumi
Désolé mais ta solution ne marche pas ( ce qui m'étonne bcp ! )

Code :
1
2
3
4
            new Effect.Fade('principal', {duration:1.5});
            pausecomp(1600);
            document.getElementById('principal').innerHTML="coucou";
            new Effect.FadeIn('principal', {duration:1.5});
Le résultat est assez spécial : au lancement de la fonction, le script se gèle pdt 1.6s puis passe direct au changement de contenu sans voir une milli-seconde du Fading !

Si quelqu'un a mieux à proposer, je suis prenneur !

Edit :
Cette syntaxe à l'air de fonctionner, mais je suis pas trop fan !
Code :
1
2
3
4
5
6
7
8
function test() {
            new Effect.Fade('principal', {duration:1.5});
            setTimeout('test2();',1500);
}
function test2() {
            document.getElementById('principal').innerHTML="coucou";
            new Effect.Appear('principal', {duration:1.5, queue: 'end' });
}
yotsumi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/05/2006, 20h31   #4
Membre actif
 
Avatar de yotsumi
 
Julien L
Inscription : mars 2005
Messages : 187
Détails du profil
Informations personnelles :
Nom : Julien L
Âge : 22
Localisation : France, Hérault (Languedoc Roussillon)

Informations forums :
Inscription : mars 2005
Messages : 187
Points : 154
Points : 154
Envoyer un message via MSN à yotsumi
Oulala j'y jsuis enfin arrivé d'une manière correcte :

Code :
new Effect.SlideUp('principal', {duration:1.5, afterFinish:function() { test2(); } });
Suffisait de le savoir ! J'espère que sa servira à d'autres personnes !
yotsumi est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 23h24.


 
 
 
 
Partenaires

Hébergement Web