2015-05-09 121 views
3

我想#profile-menu开始为.hidden,当用户点击.profile-toggle它应该删除或添加.hidden类。我如何在jQuery中完成这项工作?切换隐藏已经隐藏的div?

这是我试过的。

HTML:

<div class="main"> 
    <div class="container"> 
     <div class="nav-bar"> 
      <button class="profile-toggle" type="button" data-toggle="dropdown">Profile</button> 
      <button type="button">Sign up</button> 
     </div> 
    </div> 
</div> 

<ul class="side"> 
    <li id="profile-menu" class="hidden">TOGGLE THIS MATE</li> 
</ul> 

的JavaScript:

$(".profile-toggle").click(fucntion() { 
    if ($(".side li#profile-menu").is(".hidden")) { 
     $(".side li#profile-menu").removeClass("hidden"); 
     $(".side li#profile-menu").addClass("show"); 
    } 
    else { 
     $(".side li#profile-menu").addClass("hidden"); 
     $(".side li#profile-menu").removeClass("hidden"); 
    } 
}); 
+0

您在'温控功能有错字()' –

+0

shinnon

+0

OH该死让我查 – shinnon

回答

2

有拼写错误在function(你有fucntion),但它可以简化为

jQuery(function($) { 
 
    $(".profile-toggle").click(function() { 
 
    $("#profile-menu").toggleClass("hidden show") 
 
    }); 
 
})
.hidden { 
 
    display: none; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> 
 
<button class="profile-toggle">profile-toggle</button> 
 
<ul class="side"> 
 
    <li id="profile-menu" class="hidden">TOGGLE THIS MATE</li> 
 
</ul>

+1

为什么要在其他地方使用'jQuery(function()...') – royhowie

+0

@royhowie假设使用'jQuery(function($){' –

3

jQuery有一个名为.toggleClass()函数

只需使用:

$(".side li#profile-menu").toggleClass("hidden"); 
0

取出类,并添加样式或类定义为 -

.hidden {display: none;} 

HTML

<ul class="side"> 
    <li id="profile-menu" style="display:none;">TOGGLE THIS MATE</li> 
</ul> 

使用toggle()

$(".profile-toggle").click(fucntion() { 
    $(".side li#profile-menu").toggle(); 
});