我试图用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