JQuery背景颜色更改(.animate或.css)在重新启动后只能工作一次



大家好,我有一个大问题,我不太明白为什么会发生。

问题是,我得到了jquery插件jquery.color,这样我可以每6秒交替更改4个div的颜色,这样当第一个是白色时,其他的是黑色,当第二个是白色的时,其他是黑色,以此类推。

当我开始编程的时候,一切都在工作,我以为我在进步,但我再试了一次,什么都没有。。。我决定也许是jquery颜色插件的错,所以我决定试试jquery UI插件。我清空了缓存,重新启动了mac,尝试了"新"插件,它又开始工作了,所以我开始编程,再试了一次,BAM也发生了同样的事情。。。

奇怪的是,完全相同的代码在重新启动后可以工作,但第二次不工作。。。

我使用了以下jquery插件:jquery.urlrewrite、jquery.easytabs、jquery.ae.image.resize,当然还有jquery-ui。

我用于测试的JS代码的一小段是:

var intervalo = window.setInterval(caneco, 6000);
function caneco(){

$("#triangulo").animate({
top: "120px"
}, 1000 );
$("#juntaimg").animate({
left: "-451px"
}, 1000 );
$("link1").animate({
  'background-color': "black"
}, 1000);

}

最奇怪的是,除了背景颜色变化之外,所有其他动画都能完美地工作,每次。。。

有人能帮我吗??请

对于任何有这个问题的人来说,这是由于index.php和update.php之间的冲突,而update.php是使用jquery的.load加载到div中的。由于我独立开发了所有东西,然后加入了它,所以jquery 1.7.1被加载了两次,有一些php脚本被加载了两次等等…所以基本上我通过使用像这样的限制加载来解决这一切:

$("#finalcontainer").load("updates.php #initialcontainer");

然后我把那个页面的所有css都移到了索引css文件中(我知道我应该已经做了,但那个bug正在杀死我!),我还把updates.php的所有.js动画移到了index.php.

所以这就是我压扁虫子的方法。主要是我的错。。。

这里有一个完全可用的jsFiddle:

  • http://jsfiddle.net/VjFMj/

我对它进行了一些更正/更改(例如间隔和动画描述),但这不应该是一件大事——如果它有效,你的代码应该有效。

如果这对你有效,而你的本地版本不适用,试着做一个这样的小例子——只需包括jQuery和jQuery UI以及jsFiddle中的代码,看看这是否有效。如果是这样,可能是一些拼写错误/遗漏的标签或任何其他语法错误导致它无法工作。

顺便说一句,您可能想要setTimeout而不是setInterval,因为后者将每n毫秒重复一次调用,而setTimeout运行一次。

最新更新