![](/img/trans.png)
[英]Jquery/Javascript only running a custom function once after CSS changes
[英]JQuery backgroundcolor changes (either .animate or .css) only work once after restart?
大家好,我遇到了一个很大的问题,我不太明白为什么会这样。
问题是,我得到了jquery插件jquery.color,以便可以每6秒交替更改4 div的颜色,以便第一个为白色时,其他为黑色,第二个为白色时,其他则为黑色,依此类推。 。
当我开始编程时,一切都工作正常,我以为自己正在取得进步,但我又尝试了一次,但是没有任何事情……我认为这可能是jquery color插件的问题,所以我决定尝试一下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);
}
最奇怪的是,除backgroundColor更改之外的所有其他动画每次都能完美运行。
谁能帮我吗?? 请??
对于任何有此问题的人来说,这都是由于使用jquery的.load加载到div中的index.php和update.php之间存在冲突引起的。 因为我独立开发了所有东西,然后加入了它,所以我将jquery 1.7.1加载了两次,将一些php脚本加载了两次,依此类推...因此,基本上,我通过使用如下约束的.load来解决了所有问题:
$("#finalcontainer").load("updates.php #initialcontainer");
然后我只是将该页面的所有css移到了索引css文件中(我知道我应该已经做过,但是那个虫子使我丧命了!),而且我还将updates.php的所有.js动画都移到了索引中。的PHP。
因此,这就是我压缩错误的方式。 一直以来主要是我的错...
这是一个完全可以使用的jsFiddle:
我已对其进行了一些更正/更改(例如,间隔和动画说明),但这并不是一件大事-如果它可以工作,则您的代码应该可以工作。
如果这对您有效,而您的本地版本不起作用,请尝试制作一个像这样的小示例-仅包括jQuery和jQuery UI以及jsFiddle中的代码,然后看看是否可行。 如果是这样,则可能是某些拼写错误/未命中标记或任何其他语法错误导致其无法正常工作。
顺便说一句,您可能希望使用setTimeout
而不是setInterval
,因为后者将每n毫秒重复一次调用,而setTimeout
将运行一次。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.