Я просто собираю простой кусочек Javascript, используя Prototype и Scriptaculous. Это очень просто: просто потушить пользовательскую цитату, переключить ее на другую, а затем вернуть обратно. Проблема в том, что затухание Scriptaculous немного фликерно. Я предполагаю, что это потому, что исчезновение, переключение, постепенное изменение происходят так быстро, что браузер испытывает затруднения, не отставая.
Сначала я думал, что пауза сработает, но теперь я прочитал, что вы можете использовать Очереди эффектов , чтобы решить эту проблему, но на всю жизнь я не могу заставить ее работать.
Вот оригинальный проблемный код без каких-либо очередей эффектов:
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);
}
Если, конечно, у кого-то нет лучшего представления о том, как уменьшить мерцание?