En fait nan, c'est pas en JS.
mais en CSS en declarant le hover sur le li
http://gatsu.ftp.free.fr/html/menuoveronparent.html
au passage j'ai intégré une méthode JS que j'ai codé hier qui me permet de simuler la pseudo classe :hover sur un élément en utilisant une classe CSS au passage, bien sur il faut écraser cette valeur dans le style inline (style.behavior=" " ) sinon on risque d'avoir un loopback permanent de la fonction. Maintenant tu as un hover finger in da nose.
Remarquez que j'utilise les events onmouseenter et onmouseleave qui d'après PPK sont les évènements qui correspondent plus à la pseudo classe :hover. Ce sont des events propriétaires de IE. Donc on garde quand même onmouseover et onmouseout de libre.
Code :
- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
- <html><head>
- <title></title>
- <style type="text/css">
- #menu, #menu ul, #menu li {margin:0; padding:0;list-style: none; display:block;}
- #menu {width:160px; background:#CCC; font-size:13px;}
- #menu ul {margin-left:15px;}
- #menu a {text-decoration: none; color:#000; display:block; zoom:1;}
- #menu li:hover span, #menu li.hover span, #menu a:hover {background:#999;}
- #menu li {behavior:expression(addHover(this));} /*Add Hover on LI for IE*/
- </style>
- <script type="text/javascript">
- /* Ajoute la pseudo methode hover sur un élément, via CSS, utilise la classe CSS .hover */
- function addHover(elm) {
- elm.style.behavior = " ";
- elm.onmouseenter = function() {
- this.className+= ' hover';
- }
- elm.onmouseleave = function() {
- this.className = this.className.replace(/\bhover\b/,"" );
- }
- }
- </script>
- </head>
- <body>
- <ul id="menu">
- <li><span>Menu 1</span>
- <ul>
- <li><a href="#">Sous Menu 1.1</a></li>
- <li><a href="#">Sous Menu 1.2</a></li>
- </ul>
- </li>
- <li><span>Menu 2</span>
- <ul>
- <li><a href="#">Sous Menu 2.1</a></li>
- <li><a href="#">Sous Menu 2.2</a></li>
- </ul>
- </li>
- <li><span>Menu 3</span>
- <ul>
- <li><a href="#">Sous Menu 3.1</a></li>
- <li><a href="#">Sous Menu 3.2</a></li>
- </ul>
- </li>
- <li><span>Menu 4</span>
- <ul>
- <li><a href="#">Sous Menu 4.1</a></li>
- <li><a href="#">Sous Menu 4.2</a></li>
- </ul>
- </li>
- </ul>
- </body>
- </html>
|
Message édité par gatsu35 le 01-12-2006 à 07:28:03