2016-07-22 116 views
0
 $(function() { 
  $('.dropTitle').click(function() { 
    $('.columnCenter ul ul').css('display', 'block'); 
  }); 
                               
}); 

我在這裏有一個點擊功能。當我點擊.dropTitle時,.columnCenter顯示'block'。我怎樣才能讓它再次點擊.dropTitle,它會切換到display:none;?Div出現onclick,消失onclick

我希望能夠在顯示:塊之間來回切換顯示:點擊.dropTitle時無顯示。

所有幫助將不勝感激,謝謝!

回答

5

只需使用toggle

$(function() { 
    $('.dropTitle').click(function() { 
     $('.columnCenter ul ul').toggle(); 
    });       
}); 

Working example.

+0

我有使用javascript 0經驗,你能不能給我的完整代碼,包括顯示:無,顯示:塊結果? – miksham

+0

這是完整的代碼! :) 嘗試一下! @miksham – eisbehr

+0

我試過了。當再次單擊.dropTitle時,columnCenter ul ul不會消失,但它確實出現 – miksham

0

它可能會更容易在這裏使用一個實用工具類,例如:

.is--hidden { 
    display: none; 
}   

然後切換該點擊課程:

$('.dropTitle').click(function() { 
    $(this).toggleClass('is--hidden') 
} 
-1

我不會只用.toggle(),但我會用.on(),以及...

$(function() { 
    $(document).on('click', '.droptitle', function() { 
     $('.columnCenter ul ul').toggle(); 
    });       
}); 
+0

爲什麼要在整個文檔上註冊監聽者?這是開銷...你的'display'變量來自哪裏?! – eisbehr

+0

我離開了'顯示'作爲一個錯誤的一部分 - 我已經刪除它..至於製作文檔監聽器.. JS已經在聽,你只是指示它,你想它反應到它..我'很高興看到你的基準證明否則.. – Zak