2011-05-18 80 views
0

我只是使用Prototype和Scriptaculous將簡單的Javascript放在一起。這非常簡單:只需將用戶引用退出,將其切換爲另一個引用,然後將其退回。問題是Scriptaculous的衰落有點閃爍。我猜這是因爲淡入淡出,開關淡入淡出,瀏覽器難以跟上。Javascript:使用效果隊列減少Scriptaculous閃爍?

起初我以爲停頓會奏效,但現在我讀過了,你可以用Effect Queues來解決這個問題,但是對於我的生活我無法完成它的工作。

這裏是沒有任何影響的隊列原來有問題的代碼:

function fadeOut() { 
new Effect.Opacity('quoteContainer', {from: 1.0, to: 0.0 }); 
} 

function fadeIn() { 
new Effect.Opacity('quoteContainer', {from: 0.0, to: 1.0 }); 
} 

function changeQuote(i) { 
    fadeOut(); 
    $('quote').innerHTML = quoteArray[i]; 
    $('name').innerHTML = nameArray[i]; 
    fadeIn(); 
} 

changeQuote(0); // 1stQuo 

window.onload = function() { 
    var i = 1; 
    var pause = setInterval(function() { 
     changeQuote(i); 
     i++; 
     if (i>11) { i=0; } // Go to first quote in array 
    }, 7000); 
} 

除非,當然,任何人對如何減少閃爍一個更好的主意嗎?

回答

0
setTimeout(function() { 
    fadeIn(); 
}, 500); 

時間(ms)因此多數民衆贊成500毫秒

+0

這只是真的搞砸了,我怕:( – 2011-05-18 19:03:28

+0

發現了一個名爲影響隊列的事情。顯然,Scriptaculous的同時運行的所有效果,你需要告訴它等待。 – 2011-05-18 19:26:44