首先抱歉我的英语,因为它不是我的第一语言。 我正在为一个学校项目建立一个时间表网站,它很棒,但有一点让我烦恼。
我有这些球,点击它们后面打开一个div并关闭所有其他并设置一些类,所以我知道它们已被打开。
如果您尝试打开另一个已经打开的那个,那么效果很好。
现在问题是,如果我打开一个然后再次点击它来关闭它,我会深入到代码中:
if($('.balkln, .balgrt').hasClass("open")){
console.log("Clicked and there is a open class active!");
但它永远不会触发下一个设置的动画,即使它有类infoopen
$(".infoopen").stop().animate({
链接到网站: http://kloek.skippy.nu
有人有个主意吗?
由于
答案 0 :(得分:0)
问题是,您正试图查看.balkln
或.balgrt
是否有元素,其中包含类open
。您的代码会检查.balkln
或.balgrt
是否自己拥有该类。
尝试将代码更改为:
if($('.balkln, .balgrt').find(".infoopen")){ // this will look for open divs within balls
console.log("Clicked and there is a open class active!");
这个条件应该是true
,这就是你想要的。此外,我感觉你的代码有结构错误,因为你寻找打开的一个球,然后你寻找一个信息div 来关闭。你想要的是寻找打开和关闭的一个球 它包含的信息div 。您的代码现在可以使用,但是当您允许多个球同时打开时,您将遇到麻烦,因为关闭一个将导致关闭所有球。