Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Мигают все слайдеры при смены блока (https://javascript.ru/forum/misc/60477-migayut-vse-slajjdery-pri-smeny-bloka.html)

рони 02.01.2016 22:44

DemiuS,
маленький совет, если вы видите в скрипте setInterval знайте этот скрипт нельзя использовать!!!

DemiuS 02.01.2016 22:52

Так щас поправлю, а по слайдеру что сказать можете?

DemiuS 02.01.2016 22:54

Цитата:

Сообщение от рони (Сообщение 402329)
DemiuS,
маленький совет, если вы видите в скрипте setInterval знайте этот скрипт нельзя использовать!!!

А чем тогда заменить цикличность?

рони 02.01.2016 23:03

Цитата:

Сообщение от DemiuS
А чем тогда заменить цикличность?

setTimeout

рони 02.01.2016 23:04

DemiuS,
замените ваш код на этот
window.addEventListener('DOMContentLoaded', function() {
 var image_count = 2;
 var interval = 5000; //пауза
var time_out = 30; //скорость смены картинки
var i = 2;
 var timeout;
 var opacity = 100;
 function change_image() {
 opacity--;
 var j = i + 1;
 var current_image = 'image_' + i;
 if (i == image_count) j = 1;
 var next_image = 'image_' + 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);

 i++;
 if (i>image_count) i=1;
 timeout = setTimeout(change_image, interval);
 }
 }
 change_image()
    });

DemiuS 02.01.2016 23:14

Ух ты, я и забыл про инкремент )) Спасибо Большое, помогли)

рони 02.01.2016 23:17

DemiuS,
код не самый лучший, на jquery это гораздо проще и надёжнее.

DemiuS 02.01.2016 23:20

Понял, продолжу изучать JS)
Вам поставил отзыв.


Часовой пояс GMT +3, время: 00:49.