2

首先对不起我的英语,因为它不是我的第一语言。我正在为一个学校项目建立一个时间线网站,它进展顺利,但有一件事一直困扰着我。

我有这些球,当点击它们时,它们会在它们后面打开一个 div 并关闭所有其他球并设置一些类,这样我就知道它们已打开。

如果您尝试打开一个不同的,然后打开一个已经打开的,效果很好。

现在,如果我打开一个并再次单击它以将其关闭,这就是问题所在,我会深入到代码中:

if($('.balkln, .balgrt').hasClass("open")){
      console.log("Clicked and there is a open class active!");

但它永远不会触发下一个设置的动画,即使它具有类 infoopen

$(".infoopen").stop().animate({

网站链接:http: //kloek.skippy.nu

有人有想法吗?

谢谢

4

1 回答 1

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的球。您的代码现在可以工作,但是当您允许多个球同时打开时,您会遇到麻烦,因为关闭一个会导致关闭所有球。

于 2012-11-03T14:43:03.037 回答