Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Показать блоки по очереди (https://javascript.ru/forum/jquery/64200-pokazat-bloki-po-ocheredi.html)

Vladislav306907 26.07.2016 11:14

Показать блоки по очереди
 
Добрый день, необходимо проделать следующее:
если 4 строки:
<p class="mig">Это тестовое сообщение, сейчас будет твориться чудо</p>
<p class="mig">Это тестовое сообщение, сейчас будет твориться чудо (2)</p>
<p class="mig">Это тестовое сообщение, сейчас будет твориться чудо (3)</p>
<p class="mig">Это тестовое сообщение, сейчас будет твориться чудо (4)</p>

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

Попробовал сделать следующее:
$('.mig').each(function test(){
setTimeout(function(){$(this).fadeIn('slow')},1000);
setTimeout(function(){$(this).fadeOut('slow')},1000);
});
setInterval(test,2000);


Но не срабатывает =(

рони 26.07.2016 11:24

Vladislav306907,
алгоритм
http://javascript.ru/forum/events/64...tml#post423250
есть ещё 100500 примеров на js и jquery
в вашем случае даже таймеры ненужны весь функционал обеспечат fadeIn и fadeOut

рони 26.07.2016 12:27

мигалка на jquery
 
Vladislav306907,
<!DOCTYPE html>

<html>
<head>
  <title>Untitled</title>
  <meta charset="utf-8">
  <style type="text/css">
  .mig {
    display: none;
  }

  </style>
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
   <script>
$(function() {
    var p = $(".mig"),
        len = p.length,
        indx = 0;
    ! function go() {
        p.eq(indx).fadeIn("slow", function() {
            $(this).delay(1000).fadeOut("slow", go)
        });
        indx = ++indx % len
    }()
});
  </script>
</head>

<body>
<p class="mig">Это тестовое сообщение, сейчас будет твориться чудо</p>
 <p class="mig">Это тестовое сообщение, сейчас будет твориться чудо (2)</p>
 <p class="mig">Это тестовое сообщение, сейчас будет твориться чудо (3)</p>
 <p class="mig">Это тестовое сообщение, сейчас будет твориться чудо (4)</p>



</body>
</html>

Vladislav306907 26.07.2016 14:57

Спасибо большое, delay из головы вылетел совсем


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