Javascript-форум (https://javascript.ru/forum/)
-   Javascript под браузер (https://javascript.ru/forum/css-html/)
-   -   Заменить рандом на порядковое последовательное событие (https://javascript.ru/forum/css-html/83661-zamenit-random-na-poryadkovoe-posledovatelnoe-sobytie.html)

Radar89 08.02.2022 14:37

Мне просто потребовался не замысловатый код,
что бы например картинка в шапке или подвале сайта
после клика по ссылке и переходе на любую другую страницу сайта после обновления менялась на новую картинку , но не рандомно как у них. А по порядку следующая, одна за другой в последовательности.

Radar89 08.02.2022 14:39

Вот их сайт http://lezione.dugward.ru/u25.html

ksa 08.02.2022 15:17

Для "следования по порядку" нужно запоминать "с какого места продолжать" и сбрасывать, если выходишь за размерность массива.
Про это тебе написали в самом начале.
И пример даже есть. ;)

Radar89 08.02.2022 15:35

Огромное спасибо еще раз )
Пусть по умолчанию еще до кликов по ссылкам,
будет видна картинка https://dugward.ru/foto/Kosha1.jpg это картинка будет видно когда гость сайта первый раз попадает на сайт еще до любых действий на сайте
и далее два перехода
После каждого перехода по сайту и обновлению страницы ,
картинка меняется после первого клика на https://dugward.ru/foto/Kosha2.jpg

и после второго клика на https://dugward.ru/foto/Kosha3.jpg


Интересно мне оба варианта будут интересны как цикл 1 , 2 , 3 и далее повторяется вновь

и вариант с концовкой как вы сказали если выходишь за размерность
1, 2, 3 и далее как сказать 3-картинка например уже "конечная станция" и там уже ничего не меняется то есть после третьей картинки уже ничего не происходит , то есть все действия сбрасывается и ничего далее не происходит.

если только после закрытия браузера и вновь открытия браузера заходим на сайт с этим кодом где все повторяется вновь но до третьей картинки

хотя второй вариант более странный ) но он мне тоже интересен.
а первый вариант понятный своей цикличностью один два три и снова повторяется по кругу.
Если не сложно покажите два варианта последовательной смены картинок цикличной и конечной.

ksa 08.02.2022 16:21

Цитата:

Сообщение от Radar89
Если не сложно покажите два варианта последовательной смены картинок цикличной и конечной.

При "цикличности" нужно после +1 сверить с длиной массива картинок.
Если индекс выходит за пределы - сбрасывать его в 0...

Если цикличность не нужна - просто не делать +1, если это конец массива.
Тогда далее будет показываться только последняя картинка.

рони 08.02.2022 16:32

Цитата:

Сообщение от Radar89
Если не сложно покажите два варианта последовательной смены картинок цикличной и конечной.

чем не устроил самый первый предложенный вариант? пост #3

Radar89 08.02.2022 16:49

Цитата:

Сообщение от рони (Сообщение 543599)
чем не устроил самый первый предложенный вариант? пост #3

Сейчас один момент еще раз прокручу его у себе на странице.

рони 08.02.2022 16:58

Цитата:

Сообщение от Radar89
Сейчас один момент еще раз прокручу его у себе на странице.

тестируйте этот вариант.
кнопку посмотреть нажать 4 раза или больше.
<!DOCTYPE html>
<html>
<head>
    <title>Untitled</title>
    <meta charset="utf-8">

</head>
<body>
   <script>
        var myLogos = new Array
        ('https://place-hold.it/300x500?text=1', 'https://place-hold.it/300x500?text=2', 'https://place-hold.it/300x500?text=3');
        var Idx = (+localStorage.index || myLogos.length) % myLogos.length;
        document.write('<img src="' + myLogos[Idx] + '">');
        localStorage.index = ++Idx;
    </script>
</body>
</html>

Radar89 08.02.2022 17:10

Да вроде все хорошо работает спасибо еше раз

только после третьего обновления страницы
там две фотки с кошкой появляются последовательно друг за другом, но потом После третьего обновления
на странице появляется как это правильно сказать когда в окне браузера должна появиться еще одна фотка, появляется только обозначенный образ , что здесь должна была быть фотография обозначение в в виде значечка что здесь должна быть фотка или рисунок

Radar89 08.02.2022 17:11

Цитата:

Сообщение от рони (Сообщение 543601)
тестируйте этот вариант.
кнопку посмотреть нажать 4 раза или больше.
<!DOCTYPE html>
<html>
<head>
    <title>Untitled</title>
    <meta charset="utf-8">

</head>
<body>
   <script>
        var myLogos = new Array
        ('https://place-hold.it/300x500?text=1', 'https://place-hold.it/300x500?text=2', 'https://place-hold.it/300x500?text=3');
        var Idx = (+localStorage.index || myLogos.length) % myLogos.length;
        document.write('<img src="' + myLogos[Idx] + '">');
        localStorage.index = ++Idx;
    </script>
</body>
</html>

Спасибо, Огромное Спасибо сейчас посмотрю


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