Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > AJAX
AJAX Forum sur la programmation AJAX. Avant de poster : Cours AJAX, FAQ AJAX, Toutes les FAQ JavaScript
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 19/01/2008, 23h00   #1
Invité de passage
 
Inscription : juin 2004
Messages : 16
Détails du profil
Informations forums :
Inscription : juin 2004
Messages : 16
Points : 2
Points : 2
Par défaut [Scriptaculous] Effet Slide.DOwn de Script.aculo.us

Bonjour,

J'utilise actuellement la librairie script.aculo.us et plus particulièrement la fonction Effect.SlideDown.
La situation est la suivant : j'ai un <div> sur ma page web et quand l'utilisateur passe la souris dessus, je souhaite faire apparaitre avec un effet déroulant un second <div>. Comme le second <div> doit être caché au chargement de la page, je lui applique le style "display: none". Pour cela j'utilise le code suivant :

Code :
1
2
3
4
5
6
 
<div id="Menu_haut_Titre" onmouseover="new Effect.SlideDown 'Sous_menu_haut_1', {duration:1});">MENU 1</div>
     <div id="Sous_menu_haut_1" style="display: none">
          <div>Sous-Menu 1</div>
     </div>
</div>
Le résultat est le suivant :
- au chargement de la page, le second <div> est bien caché.
- quand je passe la souris sur le premier <div>, le second <div> apparait un court instant à sa place, disparait puis déroule normalement.

Comment faire pour qu'il n'apparaisse plus avant de dérouler normalement ?

Merci
eppo81 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/01/2008, 11h46   #2
Membre Expert
 
Inscription : mai 2004
Messages : 1 253
Détails du profil
Informations personnelles :
Localisation : Belgique

Informations forums :
Inscription : mai 2004
Messages : 1 253
Points : 1 290
Points : 1 290
Ceci devrait plutôt se trouver dans la partie JavaScript du forum, mais bon...

Le problème vient probablement de la visibilité de ton objet : tu lui mets un display: none; alors qu'il vaudrait mieux utiliser visibility: hidden. Pour la bonne raison que le display n'est pas là pour cacher un objet à la base, mais pour dire si l'objet doit être considéré comme un bloc, comme du texte "en ligne", etc.
dingoth est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/01/2008, 17h51   #3
Rédacteur/Modérateur
 
Avatar de _Mac_
 
Inscription : août 2005
Messages : 8 310
Détails du profil
Informations forums :
Inscription : août 2005
Messages : 8 310
Points : 8 592
Points : 8 592
Citation:
Envoyé par eppo81 Voir le message
Code :
1
2
<div id="Menu_haut_Titre" onmouseover="new Effect.SlideDown 'Sous_menu_haut_1', {duration:1});">MENU 1</div>
C'est quoi la parenthèse fermante à la fin ? Ca n'a peut-être (et même sûrement) rien à voir mais ça me paraît louche en tout cas.
__________________

Du détail, du détail, du détail !!!
Revenons à la source : lisons la documentation et les fichiers de trace, la réponse à notre problème s'y trouve sans doute
_Mac_ est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/01/2008, 09h22   #4
Membre Expert
 
Inscription : mai 2004
Messages : 1 253
Détails du profil
Informations personnelles :
Localisation : Belgique

Informations forums :
Inscription : mai 2004
Messages : 1 253
Points : 1 290
Points : 1 290
Bah si, ça a tout à voir : il manque la parenthèse du début
dingoth est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/01/2008, 19h25   #5
Invité de passage
 
Inscription : juin 2004
Messages : 16
Détails du profil
Informations forums :
Inscription : juin 2004
Messages : 16
Points : 2
Points : 2
Bonjour,

Concernant la parathèse : c'est juste un oubli dans le post, je l'ai bien mise dans le code de la page.

J'ai essayé avec visible=hidden mais le fait d'appliquer l'effet SlideDown sur le div ne change pas le style visibility de hidden à visible --> le dic n'apparait pas.
eppo81 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 05h40.


 
 
 
 
Partenaires

Hébergement Web