【发布时间】:2011-04-21 21:52:16
【问题描述】:
当我单击页脚中的链接时,我正在尝试使用 jQuery 显示和隐藏两个覆盖 DIV(请参阅下面的标记)。如果我单击了其中一个链接,则 jQuery 的行为与预期一样:它隐藏了另一个叠加层并显示了与我单击的链接匹配的 DIV。如果我单击条款和条件,然后再次单击条款和条件,它会隐藏 DIV,然后再次显示相同的 DIV。如果 DIV 已经可见,我想隐藏它。 (我最初尝试了 .toggle 并且行为是相同的。)
页脚中的链接:
<a href="#terms">Terms and Conditions</a>
<a href="#privacy">Privacy Policy</a>
HTML 中的 DIV:
<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();
【问题讨论】:
标签: jquery html hide hyperlink show