好吧,這是我通常在Javascript同步問題中遇到的完全相反的問題。超長jquery動畫(10秒)防止其他動作被觸發
這一次,我有一個jQuery動畫運行10秒:其實,其中不少。我知道它臃腫!
function spectrum() {
hue = (Math.floor(Math.random() * 256)) + ',' + (Math.floor(Math.random() * 128)) + ',' + (Math.floor(Math.random() * 256));
$('#dubious').animate({boxShadow: "0px 0px 300px rgba(" + hue + ", 0.8) inset"}, 10000);
$('.strip').animate({borderColor: "rgba(" + hue + ", 0.25)"}, 10000);
$('.element').animate({boxShadow: "0px 0px 400px rgba(" + hue + ", 0.45)"}, 10000);
$('#outer_container').animate({borderColor: "0px 0px 400px rgba(" + hue + ", 0.45)"}, 10000);
$('#dubious_box').animate({boxShadow: "0px 0px 40px rgba(" + hue + ", 1)"}, 10000, function() {spectrum();});
}
..基本上,它會選取一種隨機顏色,然後每個元素都會在10秒內轉換爲該色調。
再次,可能過於臃腫是非常實用的,但它只是SO COOL LOOKING ..
無論如何,真正的問題孩子here。
你會發現,如果你點擊圖像的一個頂行中(不要試圖點擊休息,這是另一個問題,我正在敲定),並等待約10秒,你會得到一個彈出式的圖片放大版本。然後再次點擊圖片,然後等待10秒,最後它會像電視一樣閃爍。
不管怎麼說,單擊事件:
$(".gallery_image").click(function() {
$("#blowup").attr('src',$(this).attr('src'));
$("#outer_container").animate({opacity: "1", height: "500"});
});
當我關掉spectrum()
循環,問題消失。
感謝您抽空看看:d
謝謝你向我解釋.stop()。 '.stop(true)'結束了很好的工作。我發佈了上面的工作代碼。 – durangotango 2012-02-21 06:13:43