begin process at 2012 05 29 23:32:48
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Javascript / DHTML / Ajax

 > 

Framework

 > 

Ajax

 > 

Scriptaculous Menu, effet de combinaison


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Scriptaculous Menu, effet de combinaison

vendredi 16 novembre 2007 à 11:24:51 | Scriptaculous Menu, effet de combinaison

obitskater

Bonjour à tous. Je suis en train de développer un site web, et j'en suis au départ à créer mon menu.
Et pour un peu de style je souhaite intégrer des effets bien sympa.
Pour cela, j'ai intégré la dernière bibliothèque de Scriptaculous et je souhaite appliquer des effets tels que Effect.Appear() ou encore Effect.fade(). Je m'explique: je voudrais que lors du passage de la souris sur un élément du menu, le sous menu apparaît avec l'effet souhaité (cité précédemment). Donc pour cela je met les évènement onmouseover et onmouseout pour gérer tout bien ces évènements.
Mais j'ai un gros problème. En effet lorsque je passe ma souris sur le 1° élèment de mon menu, le sous menu s'affiche correctement, mais dès que je met ma souris sur les élèments du sous-menu, il disparaît. Alors que je pense avoir géré correctement les évènements.
Voici mon code pour que vous compreniez mieux:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <script type="text/javascript" src="js/index.js"></script>
    <script type="text/javascript" src="js/lib/prototype.js"></script>
    <script type="text/javascript" src="js/src/scriptaculous.js"></script>
    <title>test</title>
    <style type="text/css">
    <!--
        @import url(style/index.css);
                #ecranPrincipal div{float:left;width:32%;margin-left:1%;}
                    #ecranPrincipal div div{background:#399;width:100%;margin-top:10px; border:1px solid #333;height:125px;}
    -->
    </style>
</head>
    <body>
        <ul id="menu">
             <li>
          <a href="#" title="champ1" onmouseover="Effect.Appear('menu1');" onmouseout="Effect.Fade('menu1');">Champ1</a>
          <ul style="display:none;" id="menu1" onmouseover="Effect.Appear('menu1');" onmouseout="Effect.Fade('menu1');">
            <li><a href="#">champ1.1</a></li>
            <li><a href="#">champ1.2</a></li>
            <li><a href="#">champ1.3</a></li>
          </ul>
      </li>
            <li><a href="#" title="champ2">Champ2</a></li>
            <li><a href="#" title="champ3">Champ3</a></li>
            <li><a href="#" title="champ4">Champ4</a></li>
            <li><a href="#" title="champ5">Champ5</a></li>
        </ul>
    </body>
</html>


Voilà donc si avez des idées sur d'où ça peut venir, ce serait top! Merci d'avance.


samedi 17 novembre 2007 à 09:22:22 | Re : Scriptaculous Menu, effet de combinaison

PetoleTeam

Membre Club
Bonjour,

Sans aller plus loin il me semble qu'il y ait incohérence dans tes appels

<a href="#" title="champ1" onmouseover="Effect.Appear('menu1');" onmouseout="Effect.Fade('menu1');">Champ1</a>
<ul style="display:none;" id="menu1" onmouseover="Effect.Appear('menu1');" onmouseout="Effect.Fade('menu1');">
  <li><a href="#">champ1.1</a></li>
  <li><a href="#">champ1.2</a></li>
  <li><a href="#">champ1.3</a></li>
</ul>

en effet dès que tu quittes le lien, mouseout donc, tu hides ce que tu viens d'afficher.

à tester...
;0)
samedi 17 novembre 2007 à 12:33:22 | Re : Scriptaculous Menu, effet de combinaison

obitskater

Merci pour ta réponse, mais il y a un petit soucis.
En effet si j'enlève le onmouseout="Effect.Fade('menu1');"  dans la balise <a href="#" title="champ1"> du menu visible dés le départ, ça aura pour effet que si je passe ma souris seulement sur cet élément et non ensuite sur le sous-menu qui vient de s'afficher, et je passe ensuite sur un autre élément de ma fenêtre, le sous-menu restera affiché alors que je souhaiterai qu'il disparaisse même si on ne va pas dedans avec la souris.
lundi 19 novembre 2007 à 18:52:59 | Re : Scriptaculous Menu, effet de combinaison

PetoleTeam

Membre Club
Réponse acceptée !
Bonjour,
Effectivement, une solution serait de passer par un setTimeout, donc petit fichier de test
<html>
<head>
<script type="text/javascript">
var ID_Timer = null;
//---------------------

function Fct_Over( id_){
  clearTimeout( ID_Timer);
// clear le timeout
  var Obj = document.getElementById( id_);
  if( Obj)
    Obj.style.display = "";
}
//--------------------

function Fct_Out( id_){
  var Obj = document.getElementById( id_);
  if( Obj)
    Obj.style.display = "none";
}
</script>
</head>
<body>
<body>
<ul id="menu">
  <li>
    <a href="#" title="champ1" onmouseover ="Fct_Over('menu1');" onmouseout ="ID_Timer =setTimeout('Fct_Out(\'menu1\')',1000)">Champ1</a>
    <ul style ="display:none;" id ="menu1" onmouseover ="Fct_Over('menu1');" onmouseout ="Fct_Out('menu1');">
      <li><a href="#">champ1.1</a></li>
      <li><a href="#">champ1.2</a></li>
      <li><a href="#">champ1.3</a></li>
    </ul>
  </li>
</ul>
</body>
</html>


voilà il te suffit de mettre à ta sauce..

;0)

jeudi 22 novembre 2007 à 12:54:57 | Re : Scriptaculous Menu, effet de combinaison

obitskater

Merci beaucoup, c'était juste le clearTimeout() qui me manquait, et puis l'idée de mettre la variable globale ID_Timer merci bien ;)


Cette discussion est classée dans : menu, effet, champ1, menu1, effect


Répondre à ce message

Sujets en rapport avec ce message

Probleme: menu dynamique en javascript sous mozilla et netscape [ par 4zel ] Salut tt le monde, voila j'ai un probleme avec le menu javascript de mon siteweb, il marche nickel sous IE, mais rien a faire il ne veut pas s'affiche effet de menu [ par blinix123 ] J'ai un menu en liste, et j'aimerais qu'au lieu d'avoir des tiret lesun en dessous des autres, j'ai des tirets les les uns en dessous des autres mais script menu et Css [ par marmau333 ] Bonjours,je  travail sur ce menu. il fonctionne très bien mais tous les liens du site prennent le style du menu.y aurait-il moyen de crééer une classe menu déroulant avec effet de fondu [ par jeanMOULIN54 ] Bonjour à tous :)Voilà tout est dans le titre, j'aimerai que vous m'aidiez à réaliser le même effet que sur ce site web : http://www.magicmanu.com/ ( menu déroulant [ par Masterfoums ] Bonjour, je débute un peu dans le milieu et je m'oppose à un problème de création de menu. Je tente vainement actuellement de faire apparaitre un men Effet progressif lors du déployement d'un menu déroulant en CSS [ par qntoinOo ] Bonjour,J'aimerais savoir comment il est possible de faire un effet progressif sur un menu déroulant en CSS (Je me sers balise toussa) dans le style Problème avec effet lightbox + menu déroulant javascript [ par kevinbp ] Bonjour,j'aurais aimé avoir de l'aide avec mon site internet. Je n'arrive pas à avoir sur la même page un effet de lightbox ajouté à une animation fla inserer un menu dans un tableau [ par logicielconst ] bonjour,j'ai inseré un menu déroulant dans une cellule d'un tableau ,lorsque le menu se déroule(en cliquant dessus),la cellulle se redimenssionne comm Menu qui arrive dynamiquement sur la page [ par MadMax1024 ] Bonjour a tous. J'espère poster dans la bonne section vu que ma question vas porter sur flash et l'HTML. Donc voila j'ai créer un tout beau menu en fl effet drapeau [ par mojchris ] J'ais récupérer le script effet drapeau de PetoleTeam par contre sur lapage d'exemple il faut cliquer sur un lien pour que l'image apparaisse alors qu


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,295 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales