Javascript-форум (https://javascript.ru/forum/)
-   (X)HTML/CSS (https://javascript.ru/forum/xhtml-html-css/)
-   -   Поочередное появление картинок с определенной задержкой. (https://javascript.ru/forum/xhtml-html-css/85660-poocherednoe-poyavlenie-kartinok-s-opredelennojj-zaderzhkojj.html)

BSI 12.12.2023 09:08

Поочередное появление картинок с определенной задержкой.
 
Всего 8 картинок. Если первые две появляются, то остальные на экране вроде бы появляются, но пустые. В чем проблема не могу понять. Пробовал с другой картинкой gif вот этой http://habrastorage.org/webt/ft/dk/i...ir3suajkvu.gif, всё работает нормально.
<div class="container">
  <div class="image-stack">

    <div class="karaspryg">
      <img src="https://habrastorage.org/webt/q2/pg/ff/q2pgffqkmgkcpwwbify5cd6mvoq.gif" alt="">
    </div>

    <div class="kar_L">
      <img src="https://habrastorage.org/webt/s_/yk/eo/s_ykeof0f15-dy2gci5evfp-oeo.gif" alt="">
    </div>

    <div class="kar_1">
      <img src="https://habrastorage.org/webt/q2/pg/ff/q2pgffqkmgkcpwwbify5cd6mvoq.gif" alt="">
    </div>

    <div class="karasik">
      <img src="https://habrastorage.org/webt/s_/yk/eo/s_ykeof0f15-dy2gci5evfp-oeo.gif" alt="">
    </div>

    <div class="kar_2">
      <img src="https://habrastorage.org/webt/q2/pg/ff/q2pgffqkmgkcpwwbify5cd6mvoq.gif" alt="">
    </div>

    <div class="kar_L2">
      <img src="https://habrastorage.org/webt/s_/yk/eo/s_ykeof0f15-dy2gci5evfp-oeo.gif" alt="">
    </div>

    <div class="kar_3">
      <img src="https://habrastorage.org/webt/q2/pg/ff/q2pgffqkmgkcpwwbify5cd6mvoq.gif" alt="">
    </div>

    <div class="kar_L3">
      <img src="https://habrastorage.org/webt/s_/yk/eo/s_ykeof0f15-dy2gci5evfp-oeo.gif" alt="">
    </div>

CSS
* {
  outline: 1px solid red; //Это красные полосы
}

.container {
  padding: 10px 80px;
  width: 100%;
  margin: 0 auto;
  max-width: 1064px;
}

.image-stack::after {
    content: ' ';
    display: table;
    clear: both;
  }

.kar_L {
  float: left;
  z-index: 3;
}

.karaspryg {
  float: left;
  z-index: 3;
}

.kar_1 {
  float: left;
  z-index: 3;
}

.karasik {
  float: left;
  z-index: 3;
}

.kar_2 {
  float: left;
  z-index: 3;
}

.kar_L2 {
  float: left;
  z-index: 3;
}

.kar_3 {
  float: left;
  z-index: 3;
}

.kar_L3 {
  float: left;
  z-index: 3;
}

.kar_4 {
  float: left;
  z-index: 3;
}

.karaspryg {
  grid-row: 1;
  grid-column: 1;
  transform: scale(0.5);
  position: relative;
  top: 1em;
  left: 15em;
  animation: KarasprygAnimation 1s 2s forwards; forwards;
  visibility: hidden;
}
@keyframes KarasprygAnimation {
  to {
    visibility: visible;
  }
}

.kar_L {
  grid-row: 1;
  grid-column: 1;
  transform: scale(0.5);
  position: relative;
  top: 1em;
  left: -20em;
  animation: KarLAnimation 1s 4s forwards;
  visibility: hidden;
}
@keyframes KarLAnimation {
  to {
    visibility: visible;
  }
}

.kar_1 {
  grid-row: 1;
  grid-column: 1;
  transform: scale(0.5);
  position: relative;
  top: -3em;
  margin-left: 30em;
  animation: Kar1Animation 1s 6s forwards;
  visibility: hidden;
}
@keyframes Kar1Animation {
  to {
    visibility: visible;
  }
}

.karasik {
  grid-row: 1;
  grid-column: 1;
  transform: scale(0.5);
  position: relative;
  top: -7em;
  left: 42em;
  animation: KarasikAnimation 1s 8s forwards;
  visibility: hidden;
}
@keyframes KarasikAnimation {
  to {
    visibility: visible;
  }
}

.kar_2 {
  grid-row: 1;
  grid-column: 1;
  transform: scale(0.5);
  position: relative;
  top: -2em;
  left: -20em;
  animation: Kar2Animation 1s 10s forwards;
  visibility: hidden;
}
@keyframes Kar2Animation {
  to {
    visibility: visible;
  }
}

.kar_L2 {
  grid-row: 1;
  grid-column: 1;
  transform: scale(0.5);
  position: relative;
  margin-top: -3em;
  left: -22em;
  animation: KarL2Animation 1s 12s forwards;
  visibility: hidden;
}
@keyframes KarL2Animation {
  to {
    visibility: visible;
  }
}

.kar_3 {
  grid-row: 1;
  grid-column: 1;
  transform: scale(0.5);
  position: relative;
  top: -6em;
  margin-left: 32em;
  animation: Kar3Animation 1s 13s forwards;
  visibility: hidden;
}
@keyframes Kar3Animation {
  to {
    visibility: visible;
  }
}

.kar_L3 {
  grid-row: 1;
  grid-column: 1;
  transform: scale(0.5);
  position: relative;
  top: -10em;
  margin-left: 45em;
  animation: KarL3Animation 1s 15s forwards;
  visibility: hidden;
}
@keyframes KarL3Animation {
  to {
    visibility: visible;
  }
}


Тестирование проводил тут http://codepen.io/bsi_52/pen/ExrrqEP
Как тут вставлять код , чтобы появлялась кнопочка "Посмотреть!"?

рони 12.12.2023 09:13

BSI,
Пожалуйста, отформатируйте свой код!

Для этого его можно заключить в специальные теги: js/css/html и т.п., например:
[html run]
... минимальный код страницы с вашей проблемой
[/html]

О том, как вставить в сообщение исполняемый javascript и html-код, а также о дополнительных возможностях форматирования - читайте http://javascript.ru/formatting.

BSI 12.12.2023 09:23

Спасибо. С кнопкой понятно. А что с появлением картинок?

рони 12.12.2023 09:31

Цитата:

Сообщение от BSI
Если первые две появляются, то остальные на экране вроде бы появляются, но пустые.

они не пустые, это картинка такая, изображение только в начале, когда открывается дальние блоки, уже идут пустые кадры.

BSI 12.12.2023 09:38

А что надо сделать, чтобы картинки отображались все 8 раз. Ведь если я указываю другой gif файл вот этот http://habrastorage.org/webt/ft/dk/i...ir3suajkvu.gif, то эта картинка появляется 8 раз с определенной задержкой.

рони 12.12.2023 10:22

Цитата:

Сообщение от рони
А что надо сделать, чтобы картинки отображались все 8 раз.

обрезать пустые кадры

BSI 12.12.2023 10:32

Цитата:

Сообщение от рони (Сообщение 554209)
обрезать пустые кадры

.
Что значит обрезать, каким образом это сделать?

voraa 12.12.2023 11:08

Цитата:

Сообщение от BSI
каким образом это сделать?

Каким-нибудь графическим редактором.

BSI 12.12.2023 11:24

Ключевое действие тут, показать картинки 8 раз в разных местах и через определенный промежуток времени.

рони 12.12.2023 11:49

Цитата:

Сообщение от BSI
Ключевое действие тут, показать картинки 8 раз в разных местах и через определенный промежуток времени.

чтобы показать картинку, нужна сама картинка, у вас её нет!

BSI 12.12.2023 12:20

Цитата:

Сообщение от рони (Сообщение 554214)
чтобы показать картинку, нужна сама картинка, у вас её нет!

Как нет? Вот ссылка на первую картинку https://habrastorage.org/webt/q2/pg/...fy5cd6mvoq.gif
ссылка на вторую картинку https://habrastorage.org/webt/s_/yk/...i5evfp-oeo.gif
Может быть я что-то не так объясняю? Надо так:
- есть две анимированные картинки в формате gif
- через какое-то время появляется первая картинка и потом исчезает
- через какой-то промежуток времени появляется вторая картинка и потом исчезает
- далее опять через какой-то промежуток времени первая картинка в каком-то другом месте на экране
- так картинки чередуются, первая картинка появляется 4 раза и 4 раза вторая.

рони 12.12.2023 12:47

BSI,
условно ваша картинка gif, состоит из 100 кадров, на первых 8 рыбка, на остальных 92 кадрах пусто, поэтому проблема не в css или html, а в самой картинке. уберите пустые кадры, и после этого настраивайте css и html.

BSI 12.12.2023 12:49

Спасибо. Сейчас попробую исправить.

BSI 12.12.2023 12:55

Открыл картинки в фотошопе. В первой и второй картинках по 36 кадров. Пустых кадров нет.

рони 12.12.2023 13:02

BSI,
почему тогда здесь пусто через пару секунд?

BSI 12.12.2023 13:07

А Бог его знает. Наверное эту проблему решить не получится.

рони 12.12.2023 13:09

BSI,
возможно где-то внутри gif есть параметр повтора loop

BSI 12.12.2023 13:15

Всем спасибо за участие. Тему наверное надо закрыть.

BSI 12.12.2023 19:08

Цитата:

Сообщение от рони (Сообщение 554219)
BSI,
почему тогда здесь пусто через пару секунд?

Потому, что когда эта анимация делалась в фотошопе, в параметрах повторов поставлено однократно.

BSI 16.12.2023 14:13

Похоже получилось. Не знаю правильно ли.
<!DOCTYPE html>
<head>
  <meta charset="UTF-8">
  <style>

.container {
  padding: 10px 80px;
  width: 100%;
  margin: 0 auto;
  max-width: 1064px;
}

.image-stack::after {
  content: " ";
  display: table;
  clear: both;
}

.karas_P1 {
  float: left;
  z-index: 3;
}

.kar_L1 {
  float: left;
  z-index: 3;
}

.kar_P2 {
  float: left;
  z-index: 3;
}

.kar_L2 {
  float: left;
  z-index: 3;
}

.kar_P3 {
  float: left;
  z-index: 3;
}

.kar_L3 {
  float: left;
  z-index: 3;
}

.kar_P4 {
  float: left;
  z-index: 3;
}

.kar_L4 {
  float: left;
  z-index: 3;
}

.karas_P1 {
  grid-row: 1;
  grid-column: 1;
  transform: scale(0.5);
  position: relative;
  margin-top: 1em;
  margin-left: 2em;
  animation: Karas_P1Animation 1.5s 2s forwards;
  opacity: 0;
}
@keyframes Karas_P1Animation {
  0% {
    opacity: 1;
  }
  99% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}

.kar_L1 {
  grid-row: 1;
  grid-column: 1;
  transform: scale(0.5);
  position: relative;
  margin-top: 1em;
  margin-left: -1em;
  animation: Kar_L1Animation 1.5s 3.5s forwards;
  opacity: 0;
}
@keyframes Kar_L1Animation {
  0% {
    opacity: 1;
  }
  99% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}

.kar_P2 {
  grid-row: 1;
  grid-column: 1;
  transform: scale(0.5);
  position: relative;
  margin-top: 1em;
  margin-left: 0em;
  animation: Kar_P2Animation 1.5s 5s forwards;
  opacity: 0;
}
@keyframes Kar_P2Animation {
  0% {
    opacity: 1;
  }
  99% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}

.kar_L2 {
  grid-row: 1;
  grid-column: 1;
  transform: scale(0.5);
  position: relative;
  margin-top: -7em;
  margin-left: 42em;
  animation: Kar_L3Animation 1.5s 6.5s forwards;
  opacity: 0;
}
@keyframes Kar_L3Animation {
  0% {
    opacity: 1;
  }
  99% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}

.kar_P3 {
  grid-row: 1;
  grid-column: 1;
  transform: scale(0.5);
  position: relative;
  margin-top: -2em;
  margin-left: 4em;
  animation: Kar_P3Animation 1.2s 7.5s forwards;
  opacity: 0;
}
@keyframes Kar_P3Animation {
  0% {
    opacity: 1;
  }
  99% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}

.kar_L3 {
  grid-row: 1;
  grid-column: 1;
  transform: scale(0.5);
  position: relative;
  margin-top: -2em;
  margin-left: 2em;
  animation: Kar_L3Animation 1.5s 9.5s forwards;
  opacity: 0;
}
@keyframes Kar_L3Animation {
  0% {
    opacity: 1;
  }
  99% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}

.kar_P4 {
  grid-row: 1;
  grid-column: 1;
  transform: scale(0.5);
  position: relative;
  margin-top: -2em;
  margin-left: 3em;
  animation: Kar_P4Animation 1.5s 12s forwards;
  opacity: 0;
}
@keyframes Kar_P4Animation {
  0% {
    opacity: 1;
  }
  99% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}

.kar_L4 {
  grid-row: 1;
  grid-column: 1;
  transform: scale(0.5);
  position: relative;
  margin-top: -6em;
  margin-left: 45em;
  animation: Kar_L4Animation 1.5s 15.5s forwards;
  opacity: 0;
}
@keyframes Kar_L4Animation {
  0% {
    opacity: 1;
  }
  99% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}


</style>
</head>
<body>

<div class="container">
  <div class="image-stack">

    <div class="karas_P1">
      <img src="https://habrastorage.org/webt/ok/qs/0_/okqs0_lq8q7x6canndrw_mu2uy8.gif" alt="">
    </div>

    <div class="kar_L1">
      <img src="https://habrastorage.org/webt/v_/r-/qh/v_r-qhfdeje2cnike9x78ygkdne.gif" alt="">
    </div>

    <div class="kar_P2">
      <img src="https://habrastorage.org/webt/ok/qs/0_/okqs0_lq8q7x6canndrw_mu2uy8.gif" alt="">
    </div>

    <div class="kar_L2">
      <img src="https://habrastorage.org/webt/v_/r-/qh/v_r-qhfdeje2cnike9x78ygkdne.gif" alt="">
    </div>

    <div class="kar_P3">
      <img src="https://habrastorage.org/webt/ok/qs/0_/okqs0_lq8q7x6canndrw_mu2uy8.gif" alt="">
    </div>

    <div class="kar_L3">
      <img src="https://habrastorage.org/webt/v_/r-/qh/v_r-qhfdeje2cnike9x78ygkdne.gif" alt="">
    </div>

    <div class="kar_P4">
      <img src="https://habrastorage.org/webt/ok/qs/0_/okqs0_lq8q7x6canndrw_mu2uy8.gif" alt="">
    </div>

    <div class="kar_L4">
      <img src="https://habrastorage.org/webt/v_/r-/qh/v_r-qhfdeje2cnike9x78ygkdne.gif" alt="">
    </div>
</body>
</html>


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