显示/隐藏li的相应部分内容?

时间:2012-05-11 10:03:07

标签: jquery

hmtl代码:

  <div id="nav">
 <ul>
 <li><a href="#">test 1</a></li>
 <li><a href="#">test 2</a>
  <div class="sub-nav">
  <p> <a href="#">link </a>  <a href="#">link </a> <a href="#">link </a>  </p>
  </div>

  </li>
 <li><a href="#">test 3</a>
  <div class="sub-nav">
  <p> <a href="#">link2 </a>  <a href="#">link3</a> <a href="#">link4 </a>  </p>
  </div>

</li>
 <li><a href="#">test 4</a></li>
 </ul>
  </div>

我希望当鼠标悬停在 li 上时,它会显示相应的部分内容(sub-nav)。当鼠标离开li时,相应的部分将被隐藏。

.sub-menu css is display:none;

以下是我的代码,但不起作用。

$(function(){

    $("#nav ul li").mouseenter(function() {
       $(this).find(".sub-menu").show();
    });
});

4 个答案:

答案 0 :(得分:1)

检查CSS和JavaScript中是否有.sub-menu类,但是标记中有.sub-nav

以下是工作解决方案:

$("#nav ul li").hover(function() {
    $(this).find(".sub-nav").show();
}, function() {
    $(this).find(".sub-nav").hide();
});​

DEMO: http://jsfiddle.net/e8GYJ/

答案 1 :(得分:1)

$("#nav ul li").mouseenter(function() {
       $(this).find(".sub-menu").show();
    }.mouseleave(function(){
      $(this).find(".sub-menu").hide();
    });

查看此代码......

希望这可以帮助你

答案 2 :(得分:0)

尝试hover()事件回调:http://api.jquery.com/hover/

答案 3 :(得分:0)

尝试使用hover功能:

$("li").hover(
  function () {
     $(this).find(".sub-menu").show();
  }, 
  function () {
     $(this).find(".sub-menu").hide();
  }
);