簡體   English   中英

jQuery backgroundcolor更改(.animate或.css)重新啟動后只能工作一次嗎?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM