如何在课程处于活动状态时显示列表菜单?

时间:2017-06-08 07:51:24

标签: javascript php jquery html

jQuery(document).ready(function() {
  $(".list-menu").hide();
  $(".head-list a").click(function() {
    $(".list-menu:visible").slideUp('slow');
    $(".head-list").removeClass('active-menu');
    $(this).parent().addClass('active-menu').next().slideDown('slow');
    return false;
  });
  if ($(".list-menu ul li").hasClass('active')) {
    $(".list-menu").show();
  }
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="head-list"><a href="">Puchase</a></div>
<div class="list-menu">
  <ul>
    <li class="<?php if($page == 'home'){ echo 'active';} ?>"><a href="customer_list.php">Purchase</a></li>
    <li><a href="#">Purchase List</a></li>
    <li><a href="#">Purchase3</a></li>
    <li><a href="#">Purchase4</a></li>
    <li><a href="#">Purchase5</a></li>
  </ul>
</div>

我希望它只显示.list-menu ul li active个{。}}。

感谢您的回答。

3 个答案:

答案 0 :(得分:0)

您需要为多个li添加每个循环。 在你的代码中它只考虑最后一个li。 最后李没有活跃的课程。 下面是li的每个循环的参考代码。

$( "list-menu ul li" ).each(function( index ) {
 if($(index).hasClass('active'))
 {
   $("index").show();
 }
 else
 {
 $("index").hide();
 }
});

答案 1 :(得分:0)

在这里你可以使用它

$page=basename($_SERVER['PHP_SELF']);
<li  class="menu-dropdown <?php   
if(basename($_SERVER['PHP_SELF'])=="home.php"){ echo 'active'; } ?> ">

希望它能正常运作

答案 2 :(得分:0)

为方便起见,我首先要隐藏.list-menu:

$(".list-menu").css('display', 'none');

然后代替:

if ($(".list-menu ul li").hasClass('active')) {
        $(".list-menu").show();
}

我会在循环中运行选择器来检查名为“active”的类,如下所示:

 $(".list-menu ul").each(function(e){
    if( $(this).hasClass('active')) {
         $(".list-menu").css('display', 'block');
         $(this).show();             
      }else{
         $(this).hide();
      }
});