Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Помогите с задержкой(setinterval) условий... / 4 сообщений из 4, страница 1 из 1
09.02.2019, 05:54
    #39771463
KsOD
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с задержкой(setinterval) условий...
В кратце, опишу проблему - возникла проблема с пониманием таких команд, как setinterval и settimeout.
Цель была сделать на условиях сделать задержку в 3 секунды, когда эти же условия ходят по циклу(for)... Фактически пример это и есть данный код, именно сейчас все работает, как предполагается, только данный способ меня не устраивает, ибо каждый раз цикл умножая на себя, увеличивает скорость задержки, хотелось бы уйти от данного ускорения.
Очень долго пытался уяснить куда поставить и что сделать, в итоге результат 0, решил обратится к более опытным людям, которые встречались с данной командой.
P.S. Заранее спасибо, прошу разъяснить данную команду и её особенность работы и прошу прощения, что нету комментариев, на данный момент добавить их не предоставляется возможным мне...

JS
Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
jQuery(document).ready(function ($) {

    var image = new Array(4);

    image[0] = { 'small': "small-0", 'big': "big-0" };
    image[1] = { 'small': "small-1", 'big': "big-1" };
    image[2] = { 'small': "small-2", 'big': "big-2" };
    image[3] = { 'small': "small-3", 'big': "big-3" };
    image[4] = { 'small': "small-4", 'big': "big-4" };

    var active_image = 0;
    var last_image = 0;

    for (var i = 1; i < 100; i++) {
        setTimeout(function() {

            if (last_image == 0) {

                $("#slide-0").html(image[0].small);
                $("#slide-1").html(image[1].small);
                $("#slide-2").html(image[2].small);
                $("#slide-3").html(image[3].small);
                $("#slide-4").html(image[4].big);

                last_image = 4;
            } else {

                if (last_image == 4) {
                    $("#slide-1").html(image[last_image].small);
                    $("#slide-4").html(image[1].big);
                    last_image = 1;
                }

                if (last_image < 4) {
                    active_image = last_image + 1
                    $("#slide-" + active_image).html(image[last_image].small);
                    $("#slide-4").html(image[active_image].big);

                    if (active_image < 4) {
                        last_image = active_image;
                    } else {
                        $("#slide-0").html(image[0].small);
                        $("#slide-1").html(image[1].small);
                        $("#slide-2").html(image[2].small);
                        $("#slide-3").html(image[3].small);
                        $("#slide-4").html(image[4].big);

                        last_image = 4;
                    }
                }
            }
            console.log(i);
        }, 3000 * i);
    }
});


HTML
Код: html
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
<html>
    <head>
        <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.4/jquery.min.js"></script>
        <script src="script.js"></script>
    </head>    
    <body>

     <div id="slide-0">0</div> 
     <div id="slide-1">1</div> 
     <div id="slide-2">2</div> 
     <div id="slide-3">3</div> 
     <div id="slide-4">4</div> 
    </body>
</html>

...
Рейтинг: 0 / 0
11.02.2019, 08:00
    #39771995
krvsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с задержкой(setinterval) условий...
KsOD , не нужно setinterval и settimeout совать в циклы... Эти методы сами могут делать повторяющиеся действия.


Код: html
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
<!DOCTYPE html>
<html>
<head>
<meta http-equiv='Content-Type' content='text/html; charset=windows-1251' />
<!--
<script src='https://code.jquery.com/jquery-latest.js'></script>
<script src="https://code.angularjs.org/1.3.9/angular.min.js"></script>
<script src="https://code.angularjs.org/1.3.9/angular-route.js"></script>
-->
<style type='text/css'>
</style>
<script type='text/javascript'>
$(function(){
	primer(10);
	function primer(N) {
		var o=document.getElementById('test');
		if (N<1) {
			o.innerHTML='Ok.';
			return;
		};
		o.innerHTML=N;
		setTimeout(function(){
			primer(--N);
		},300);
	};
});
</script>
</head>
<body>
<p id='test'></p>
</body>
</html>
...
Рейтинг: 0 / 0
11.02.2019, 08:02
    #39771996
krvsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с задержкой(setinterval) условий...
Забыл раскомментировать

Код: html
1.
<script src='https://code.jquery.com/jquery-latest.js'></script>
...
Рейтинг: 0 / 0
11.02.2019, 21:26
    #39772523
Програмёр
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с задержкой(setinterval) условий...
спамер похоже. Буквально на днях получил парочку исчерпывающих ответов и снова спрашивает!
https://www.sql.ru/forum/1308874/pomogite-s-zaderzhkoy-setinterval-usloviy
...
Рейтинг: 0 / 0
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Помогите с задержкой(setinterval) условий... / 4 сообщений из 4, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]