0 / 0 / 0
Регистрация: 20.11.2016
Сообщений: 12
1

Смена картинок через каждую секунду

07.12.2018, 23:44. Показов 4683. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Имеются картинки с цифрами 3,2,1,0.При загрузке страницы должны меняться картинки от 3 до 0 каждую секунду. После того как картинка с цифрой "0" подержится на экране одну секунду, следует загрузить другую страницу (любую).
Вот мой скрипт, но он не работает
PHP/HTML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
 
 <script> 
function() {     
    var i = 0;
    var pics = [ "2.gif", "1.gif","0.gif"  ];
    var el = document.getElementById('img');  
    function toggle() {
        el.src = pics[i];           
        i = (i + 1) % pics.length;  
    }
    setInterval(toggle, 1000);
};  
</script>
  </head>
  <body>
     <img src="3.gif" id="img"></td>
  </body>
</html>
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
07.12.2018, 23:44
Ответы с готовыми решениями:

Смена картинки каждую секунду
Нужно сделать чтобы картинка менялась каждую секунду, сделал по примитивно через условие, но почему...

Смена картинок из папки через заданный промежуток времени
Добрый вечер! Хотел сделать простую смену картинок из папки. Вот код: &lt;img...

Как обновлять от <p> до </p> каждую секунду?
Доброе утро всем, есть страничка: &lt;html&gt; &lt;head&gt; &lt;meta name=viewport...

Увеличение значение переменной на 1 каждую секунду
Нужен счетчик которые чтоб прибавлял на 1 каждую секунду. Я пытался сделать но при перезагрузке...

2
10 / 8 / 2
Регистрация: 04.01.2018
Сообщений: 57
08.12.2018, 11:08 2
У тебя скрипт раньше обрабатывается, чем страница отрисуется.
Добавь атрибут defer, если скрипт подключен из файла, тут можно почитать https://learn.javascript.ru/external-script

В твоем случае скрипт подключи перед закрывающим тегом body.
0
Эксперт JS
6492 / 3903 / 2005
Регистрация: 14.06.2018
Сообщений: 6,781
08.12.2018, 19:31 3
Например, можно так:
PHP/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
<!doctype html>
<html>
<head>
    <meta charset="utf-8" />
    <script type="module">
        let pics = ["2.gif", "1.gif", "0.gif"],
            el = document.getElementById('img'),
            i = 0,
            id;
 
        el.onload = () => { if (!i) id = setInterval(toggle, 1000); };
 
        function toggle() {
            console.log(i);
            if (i === pics.length) {
                clearInterval(id);
                window.location = "http://mail.ru";
            }
            el.src = pics[i++];
        }
    </script>
</head>
<body>
    <img src="3.gif" id="img"></td>
</body>
</html>
Добавлено через 2 минуты
Непонятно, одну секунду надо выдерживать строго, независимо от времени загрузки картинки?
Или одна секунда должна быть между загруженными картинками?
Это разные алгоритмы.

Добавлено через 1 час 39 минут
Да. Ждать одну секунду после каждой загрузки картинки даже правильнее и наверно соответствует условию задачи:
PHP/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
<!doctype html>
<html>
<head>
    <meta charset="utf-8" />
    <script type="module">
        // Функция ожидания ms-миллисекунд
        let delay = (ms) => new Promise((resolve) => { setTimeout(resolve, ms); });
 
        let pics = ["2.gif", "1.gif", "0.gif"],
            el = document.getElementById('img'),
            i = 0,
            id;
 
        el.onload = async () => {
            await delay(1000); // После загрузки предыдущей картинки подождать одну секунду
            if (i === pics.length)
                window.location = "http://mail.ru";
            else
                el.src = pics[i++];
        };
    </script>
</head>
<body>
    <img src="3.gif" id="img"></td>
</body>
</html>
0
08.12.2018, 19:31
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
08.12.2018, 19:31
Помогаю со студенческими работами здесь

Почему функция не срабатывает каждую секунду, а выводит только первый результат?
&lt;!DOCTYPE html&gt; &lt;html lang=&quot;en&quot;&gt; &lt;head&gt; &lt;meta charset=&quot;UTF-8&quot;&gt; ...

Как сделать так,чтоб время обновлялось каждую секунду на экране?
Люди помогите пожалуйста со скриптом, как сделать так,чтоб время обновлялось каждую секунду на...

Смена картинок
У меня на denwer'е есть сайт, на одной страничке есть блок в котором изменяются картинки на...

Смена картинок
Помогите, пожалуйста, сделать, чтобы одна картинка с середины при нажатии на слайд уплывала влево,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru