Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 26.04.2010, 17:32
Аспирант
Отправить личное сообщение для peter888 Посмотреть профиль Найти все сообщения от peter888
 
Регистрация: 24.07.2009
Сообщений: 60

Пауза между двумя функциями
Помогите, плиз.
Хочу сделать бумагу, которая сворачиваеться и разворачиваеться (по горизонтали). Вот код:
<html>
<!-- Created on: 29.03.2010 -->
<head>
  <meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
  <title></title>

</head>
<body onload="zvij_all();">
   
<table border="0" align="center">
	<tr>
		<td width="20" bgcolor="green">&nbsp;</td>
		<td id="t1" width="460" bgcolor="olive" align="center">&nbsp;</td>
		<td width="20" bgcolor="green">&nbsp;</td>
	</tr>
</table>

   <a href="#" onclick='zvij_out();'>развернуть</a><br>
   <a href="#" onclick='zvij_in();'>свернуть</a>

<script language="JavaScript">
sliding=0;
function zvij_in() {
if(!sliding)
	{
	document.getElementById('t1').innerHTML = '';
	k = 460;
	sliding = setInterval(function() {
		if( k > 20 ) {
			k-=20;
			document.getElementById('t1').width =k;

		} else { 
		
			clearInterval(sliding);
			sliding=0;
		}
		}, 1 );
	}
} 

sliding=0;
function zvij_out() {
if(!sliding)
	{
	
	k = 0;
	sliding = setInterval(function() {
		if( k < 460 ) {
			k+=20;
			document.getElementById('t1').width =k;

		} else { 
		
		document.getElementById('t1').innerHTML = 'Hello!';
			clearInterval(sliding);
			sliding=0;
		}
		}, 1 );	 
		
	}
} 	 

function zvij_all() {  

//setInterval("zvij_in()",10); 
//setInterval("zvij_out()",10);	
 
};				

</script> 

</body>
</html>

Когда полностью разворачиваеться, то идет пауза в 5 секунд, а когда полностью сворачиваеться, то - 1 сек. И так надо, чтоб оно было в цыкле, т.е. безконечно.
(Текст "Hello!" будет меняться (через масив), ну и фон само-собой будет как бумага, это потом...).
Как сделать паузу в zvij_all(). Или у меня не правильный подход к решению задачи? Спасибо!
Ответить с цитированием
  #2 (permalink)  
Старый 26.04.2010, 17:57
Аватар для Skipp
.
Отправить личное сообщение для Skipp Посмотреть профиль Найти все сообщения от Skipp
 
Регистрация: 30.03.2010
Сообщений: 1,813

setTimeout
setInterval

Тебе в помощь!
Больше вариантов нет.
Вызывай свои функции с помощью этих методов.
__________________
.
Ответить с цитированием
  #3 (permalink)  
Старый 27.04.2010, 11:53
Аспирант
Отправить личное сообщение для peter888 Посмотреть профиль Найти все сообщения от peter888
 
Регистрация: 24.07.2009
Сообщений: 60

Шот не выходит у меня
function zvij_all() {  
r = 0;
if (r == 0) {
zvij_in();
r = 1;
} else {
zvij_out();
r = 0;
}
setInterval("zvij_all()",500);  
};

Помогите, плиз...
Ответить с цитированием
  #4 (permalink)  
Старый 29.04.2010, 09:08
Аватар для B~Vladi
Модератор Всея Форума
Отправить личное сообщение для B~Vladi Посмотреть профиль Найти все сообщения от B~Vladi
 
Регистрация: 14.05.2009
Сообщений: 4,021

function zvij_all() {  
  r = 0;
  if (r == 0) {
    zvij_in();
    r = 1;
  } else {
    zvij_out();
    r = 0;
  }
}
setInterval(zvij_all,500);


Цитата:
r = 0;
if (r == 0) {
Это что за бред?
Ответить с цитированием
  #5 (permalink)  
Старый 29.04.2010, 09:13
Аватар для Skipp
.
Отправить личное сообщение для Skipp Посмотреть профиль Найти все сообщения от Skipp
 
Регистрация: 30.03.2010
Сообщений: 1,813

ыыыы у тебя всегда будет выполняться первое условие.
__________________
.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск