Показать блоки по очереди
Добрый день, необходимо проделать следующее:
если 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);
Но не срабатывает =( |
Vladislav306907,
алгоритм http://javascript.ru/forum/events/64...tml#post423250 есть ещё 100500 примеров на js и jquery в вашем случае даже таймеры ненужны весь функционал обеспечат fadeIn и fadeOut |
мигалка на 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>
|
Спасибо большое, delay из головы вылетел совсем
|
| Часовой пояс GMT +3, время: 00:23. |