Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Чередование pop-up окон каждые 30 секунд (https://javascript.ru/forum/dom-window/55648-cheredovanie-pop-up-okon-kazhdye-30-sekund.html)

werwolf4 08.05.2015 01:53

Чередование pop-up окон каждые 30 секунд
 
Здравствуйте. Столкнулся с такой проблемой. Заказчик хочет два всплывающих окна которые будут открываться по очереди через каждые 30 сек. Для этого я написал такой скрипт:
var first = "$('#parent_popup').css({ 'display': 'block'}).animate({ 'opacity': '1'}, 'fast')";
	var two = "$('#parent_popup2').css({ 'display': 'block'}).animate({ 'opacity': '1'}, 'fast')";
	var bloc = two;
	
	function display(){
		if(bloc == two){
			bloc = first;
			return "$('#parent_popup').css({ 'display': 'block'}).animate({ 'opacity': '1'}, 'fast')";
		}else{
			bloc = two;
			return "$('#parent_popup2').css({ 'display': 'block'}).animate({ 'opacity': '1'}, 'fast')";
		}
	}
	setInterval(display(), 30000);

Скрипт должен по очереди присваивать css свойство display: block, дивам с id #parent_popup и #parent_popup2, но в реальности получается что через каждые 30 сек открывается блок с id #parent_popup.
Подскажите пожалуйста, что я делаю не так. Заранее спасибо

рони 08.05.2015 02:17

werwolf4,
строка 14 зачем () ?
<!DOCTYPE HTML>
<html>
<head>
  <title>Untitled</title>
  <meta charset="utf-8">
  <style type="text/css">
  .hide {
    display: none;
  }
  .parent_popup{
     position: absolute;
     background-color: #00FF00;
  }
  .red{
    background-color: #FF0000;
  }

  </style>
  <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
  <script>
     $(function(){
       var s = $(".parent_popup");
       function display()
       {
          s.fadeToggle()
       }
       setInterval(display, 3000);
});
  </script>
</head>

<body>
<div class="parent_popup hide red">parent_popup</div>
<div class="parent_popup">parent_popup2</div>
</body>

</html>

werwolf4 08.05.2015 22:30

Спасибо. Помогло. Единственное, что при закрытии одного блока через 30 сек. открывает сразу оба блока.


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