2015-05-09 206 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(); 
});