我有以下Jquery:
$('.agendaNav').click(function(event){
$(this).find('.rightArrow').attr('src', '/images/arrowdown.png');
if($('.agendaDay').is(':hidden')){
$('.agendaDay').show();
} else {
$('.agendaDay').hide();
}
});
这是HTML
<p class="agendaNav"><img src="/images/arrowright.png" class="rightArrow" /> WEEK AT A GLANCE</p>
.agendaDay类隐藏了什么,但无论我点击元素有多快,它都会非常快速地显示出来。
知道它为什么不起作用?也许我必须把它变成一个标签?
答案 0 :(得分:4)
您在if
和else
中都运行相同的代码。试试这个尺寸:
$('.agendaNav').click(function(event){
$(this).find('.rightArrow').attr('src', '/images/arrowdown.png');
if($('.agendaDay').is(':hidden')){
$('.agendaDay').show(); // <------------- change this line
} else {
$('.agendaDay').hide();
}
});
另外,there's a jQuery function for that:
$('.agendaNav').click(function(event){
$(this).find('.rightArrow').attr('src', '/images/arrowdown.png');
$('.agendaDay').toggle();
});
意图更明确:检查。更简洁:检查。效率更高:检查。程序员错误的空间较小:检查。