点击一个P标签恰好在Jquery中快速?

问题描述:

我有以下的Jquery:点击一个P标签恰好在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

我完全不理解这个 - 在你的JS中,你永远不会显示'agendaDay'元素,你只能隐藏它。以及具有'agendaDay'类的元素在哪里?你可以在[JSFiddle](http://jsfiddle.net)或JSbin或类似的文章上发布一个工作示例吗? – 2011-03-30 00:27:17

+1

能否请您用包含'.agendaDay'的代码精心设计您的示例。你是否也想用if/else来做同样的事情? – 2011-03-30 00:27:57

您在ifelse中都运行相同的代码。试试这个关于大小:

$('.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(); 
}); 

意图更加清晰:检查。更简洁:检查。更高效:检查。程序员错误的空间较小:检查

+0

哦,拍摄这是我的方式我试过切换,但它仍然有同样的问题,请看这里:http://icuc2011.com/agenda点击“周概览” – Jordash 2011-03-30 03:09:37

+0

我试过$(this).next ()和$(this).next('。agendaDay'),它似乎没有选择它。 – Jordash 2011-03-30 03:26:25

+0

你说得对。我想在每个'.agendaNav'后面有一个'.agendaDay',你想要切换。我在我的回答中提出的原始代码对我来说工作得很好。 http://jsfiddle.net/mattball/X3KeP/ – 2011-03-30 12:35:37