我試圖用jQuery來顯示和隱藏兩個覆蓋DIV當我點擊頁腳中的鏈接(見下面的標記)。如果我點擊了其中一個鏈接,jQuery的行爲與預期相同:它隱藏了另一個疊加層,並顯示與我點擊的鏈接相匹配的DIV。如果我點擊條款和條件,然後再次點擊條款和條件,它將隱藏DIV,然後再次顯示相同的DIV。如果它已經可見,我想隱藏DIV。 (我最初嘗試.toggle和行爲是一樣的。)在頁腳jQuery顯示和隱藏div
鏈接:
<a href="#terms">Terms and Conditions</a>
<a href="#privacy">Privacy Policy</a>
的DIV在HTML:
<div class="meta" id="terms">Terms and Conditions</div>
<div class="meta" id="privacy">Privacy Policy</div>
的jQuery:
$('footer a').click(function(e){
$('.meta').hide();
var div_to_show = $(this).attr('href');
if($(div_to_show).is(':visible')) {
// hide corresponding div if it's visible
$(div_to_show).hide('fast');
} else {
// show corresponding div if it's not visible
$(div_to_show).show('fast');
}
e.preventDefault();
});
這工作:
if($(this.hash).is(':visible')) {
$('.meta').hide('fast');
} else {
$('.meta').hide('fast');
$(this.hash).show('fast');
}
e.preventDefault();
對不起,這不是。當我點擊條款和條件並且條款和條件已經可見時,它不會隱藏它。我需要第一次點擊條款和條件以顯示條款和條件,第二次點擊條款和條件以隱藏它。 – kirkaracha 2011-04-21 22:33:34
Gotcha - 請參閱我的編輯。 – 2011-04-21 22:39:54
很酷,謝謝!我可能會切換到這一個。 – kirkaracha 2011-04-21 22:53:32