2011-08-07 23 views
0

我想製作一個類似於本網站上的菜單:http://www.latimes.com/。但它的效果不如Los Angeles Times如何製作一個類似www.latimes.com的jQuery菜單?

我該如何解決?有另一種方法嗎?

這是代碼顯示/隱藏子菜單通過點擊項目。

<script type="text/javascript" src="http://code.jquery.com/jquery-latest.js"></script> 
<script type="text/javascript"> 
     var $j = jQuery.noConflict(); 
     $j(document).ready(function() { 
     }); 
     function Reveal(a){ 
      var ul = a.parentNode.getElementsByTagName("UL").item(0); 
      $j(ul).show({height: 'toggle' ,opacity: 'toggle'}, 1); 
     } 
</script> 

我在調用Reveal功能鼠標:

<li><a href="#" onmousover="Reveal(this);">testimonials</a> 

回答

3

不工作這麼好或根本不工作?我擔心你錯誤地使用show函數。而那toggle參數對我來說也不清楚。

我沒有在LA Times菜單中看到任何動畫,但是該語法(定義切換變量並使用它們而不帶引號)將更適合jQuery animate函數,而不是show。這是.animate(properties, [duration,] [easing,] [complete])

http://api.jquery.com/show/

莫名其妙地跟着你盡力去完成它的方式,我會做這樣的事情(未測試!)

<script type="text/javascript"> 
    var $j = jQuery.noConflict(); 
    $j(document).ready(function() { 
     $j('#mainNavi > li').hover(function() { 
       $j(this).children('ul').show(); 
     }, function() { 
       $j('#mainNavi > li > ul').hide(); 
     }); 
    }); 
</script> 

爲HTML,你會碰到這樣的:

<ul id="mainNavi"> 
    <li> 
     <a href="">link1</a> 
     <ul style="display: none"> 
       <li>submenu item1</li> 
       <li>submenu item2</li> 
     </ul> 
    </li> 
    <li> 
     <a href="">link2</a> 
     <ul style="display: none"> 
       <li>submenu item1</li> 
       <li>submenu item2</li> 
     </ul> 
    </li> 
</ul> 
+0

感謝您的編輯,比爾。我不知道如何正確縮進代碼! – karameloso

+0

我已經從「onClick」更改爲「onMouseOver」。它工作但不正確。我有onMouseOver部分,但我仍然有麻煩。這必須保證更改onMouseOver並保持更改的元素,直到其他元素被挑選出來,onMouseOver將更改並保持更改直到另一個元素爲止。我不知道我是否可以解釋:) – stardust

+0

你可以發佈頁面鏈接嗎? – karameloso

相關問題