Titorovich » 17 сен 2013, 15:24
Всем привет. Есть баг со скриптом (слайдером). Когда переходишь в другую вкладку на минуты 4, а потом назад, то слайдер быстро прогартывается столько раз, сколько он должен был прогортаться за это время.
Вот собственно сам код скрипта:
Код: Выделить всё
var image_count = 3;
var interval = 5000;
var time_out = 10;
var i = 0;
var timeout;
var opacity = 100;
function change_image() {
opacity--;
var j = i + 1;
var current_image = 'img_' + i;
if (i == image_count) j = 1;
var next_image = 'img_' + j;
document.getElementById(current_image).style.opacity=opacity/100;
document.getElementById(current_image).style.filter='alpha(opacity='+opacity+')';
document.getElementById(next_image).style.opacity=(100-opacity)/100;
document.getElementById(next_image).style.filter='alpha(opacity='+(100-opacity)+')';
timeout = setTimeout("change_image()", time_out);
if (opacity==1) {
opacity = 100;
clearTimeout(timeout);
}
}
setInterval (function() {i++; if (i>image_count) i=1; change_image();}, interval);
Всем привет. Есть баг со скриптом (слайдером). Когда переходишь в другую вкладку на минуты 4, а потом назад, то слайдер быстро прогартывается столько раз, сколько он должен был прогортаться за это время.
Вот собственно сам код скрипта:
[code]
var image_count = 3;
var interval = 5000;
var time_out = 10;
var i = 0;
var timeout;
var opacity = 100;
function change_image() {
opacity--;
var j = i + 1;
var current_image = 'img_' + i;
if (i == image_count) j = 1;
var next_image = 'img_' + j;
document.getElementById(current_image).style.opacity=opacity/100;
document.getElementById(current_image).style.filter='alpha(opacity='+opacity+')';
document.getElementById(next_image).style.opacity=(100-opacity)/100;
document.getElementById(next_image).style.filter='alpha(opacity='+(100-opacity)+')';
timeout = setTimeout("change_image()", time_out);
if (opacity==1) {
opacity = 100;
clearTimeout(timeout);
}
}
setInterval (function() {i++; if (i>image_count) i=1; change_image();}, interval);
[/code]