我尝试创建类似菜单的手风琴时出现问题。jquery检查类是否被分配
事情就是一切都很好。第一个“气球”打开并滑动,将正确的课程添加到活动气球,但问题是当您单击已添加“活动”类的气球上的图像保持器时。 JQuery的似乎添加此风格:
display: block; overflow: hidden;
,它打乱了我的CSS。
所以我的问题是如何检查用户是否已经点击了“活动气球”,如果是这种情况,请不要做任何事情(或者将其滑回来以便关闭)或者如何删除额外的样式被添加 - 为什么它首先被添加?
我尝试创建类似菜单的手风琴时出现问题。jquery检查类是否被分配
事情就是一切都很好。第一个“气球”打开并滑动,将正确的课程添加到活动气球,但问题是当您单击已添加“活动”类的气球上的图像保持器时。 JQuery的似乎添加此风格:
display: block; overflow: hidden;
,它打乱了我的CSS。
所以我的问题是如何检查用户是否已经点击了“活动气球”,如果是这种情况,请不要做任何事情(或者将其滑回来以便关闭)或者如何删除额外的样式被添加 - 为什么它首先被添加?
jQuery的滑动动画增加时,这些风格的节目内容。
您可以使用hasClass
来检查元素中是否存在active
类。
if(!$(element).hasClass('active')){
//Do something
}
如果要切换滑动行为,可以使用slideToggle
方法。
$(element).slideToggle(500, function(){
var $this = $(this);
if($this.is(':visible')){
$this.addClass('active');
}
else{
$this.removeClass('active');
}
});
的slideToggle
方法需要的第二参数作为其在动画结束执行的回调。您可以使用它并有条件地添加/删除所需的类。
请注意,我正在使用is()
方法检查元素是否可见或使用伪选择器:visible
。
欲了解更多信息请检查下面的方法的API参考
嗨,我已经包裹着我的函数为'如果(!$( #accordion li).hasClass('active')){function here ....'\t但它现在不会滑动? – Peter 2012-02-18 17:14:12
hasClass('active')'如果元素具有'active'类,将返回'true'。你确定要检查这种情况吗? – ShankarSangoli 2012-02-18 17:16:15
其实是的,如果它有班级活动 - 我想绝对“没有”。现在它将一块内联CSS添加到已经有效的元素中,而我实际上不需要对已经有效的元素进行任何操作。谢谢 ! – Peter 2012-02-18 18:05:02