2013-02-13 28 views
1

嗨,我總是使用jQuery的這段代碼的菜單,現在的問題是即時通訊使用更新版本(我認爲)的jquery,因爲碼頭菜單Mac風格我的客戶端問,..實際上菜單是工作,只是了slideDown功能不保持開放,所以菜單是不工作..Jquery的菜單語法不工作到老

我用這個jQuery ..

<script type="text/javascript" src="http://code.jquery.com/jquery-latest.js"></script> 

絲毫驗證碼:

<script type="text/javascript"> 
$(document).ready(function(){ 

    $("ul.submenu").parent().append("<span></span>"); 

    $("ul.menu li span").hover(function() { //Al hacer click se ejecuta... 

     //Con este codigo aplicamos el movimiento de arriva y abajo para el submenu 
     $(this).parent().find("ul.submenu").slideDown('fast').show(); //Menu desplegable al hacer click 

     $(this).parent().hover(function() { 
     }, function(){ 
      $(this).parent().find("ul.submenu").slideUp('slow'); //Ocultamos el submenu cuando el raton sale fuera del submenu 
     }); 

     }).hover(function() { 
      $(this).addClass("subhover"); //Agregamos la clase subhover 
     }, function(){ //Cunado sale el cursor, sacamos la clase 
      $(this).removeClass("subhover"); 
    }); 

}); 
</script> 

此代碼仍然是山姆E,我只是用這個上現在我的頭..

<script src="js/jquery.tools.min.js"></script> 
<script type="text/javascript" src="js/jquery.js"></script> 
<script type="text/javascript" src="js/interface.js"></script> 

畢竟現在的問題是我如何重寫這些線路實際上使該菜單工程...

這裏工作http://www.dreaminmedia.com/imdr/quienessomos.php

下面是HTML

<div id="menuwrap"> 
<ul class="menu"> 
    <li><a href="#">Inicio</a></li> 
    <li> 
     <a href="#">Tutoriales</a> 
     <ul class="submenu"> 
      <li><a href="#">CSS</a></li> 
      <li><a href="#">Javascript</a></li> 
      <li><a href="#">jQuery</a></li> 
      <li><a href="#">HTML</a></li> 
      <li><a href="#">PHP</a></li> 
     </ul> 
    </li> 
    <li> 
     <a href="#">Códigos</a> 
     <ul class="submenu"> 
      <li><a href="#">Reloj en Flash</a></li> 
      <li><a href="#">Fecha con JS</a></li> 
      <li><a href="#">XML y AS</a></li> 
      <li><a href="#">RSS y PHP</a></li> 
      <li><a href="#">ASP a Excel</a></li> 
      <li><a href="#">PHP a Excel</a></li> 
     </ul> 
    </li> 
    <li><a href="#">Sobre Nosotros</a></li> 
    <li><a href="#">Politica</a></li> 

    <li><a href="#">Contactanos</a></li> 
</ul> 
</div> 

回答

1

你需要的是事件委派,如果你使用的是最新的jQuery:

改變這一行:

$("ul.menu li span").hover(function() { //Al hacer click se ejecuta... 

這樣:

$("#menuwrap").on('hover', 'ul.menu li span', function() { //Al hacer click se ejecuta... 

@你的最新評論:

$("#menuwrap").on('hover', 'ul.menu li span', function() { 
    $(this).addClass("subhover"); 
}, function() { 
    $(this).removeClass("subhover"); 
}); 

$("#menuwrap ul.menu li").hover(function() { 
    $("> ul.submenu", this).stop().slideDown('fast').show(); 
}, function() { 
    $("> ul.submenu", this).stop().slideUp('slow'); 
}); 
+1

@Monclee你可以試試這個更新的一個。 – Jai 2013-02-13 06:22:44

+0

我完全替代了你的代碼,你可以在這裏看到它http://www.dreaminmedia.com/imdr/quienessomos.php,現在根本不工作。 – Monclee 2013-02-13 06:25:11

+0

我剛剛添加HTML的問題可能是有用的 – Monclee 2013-02-13 06:28:57