Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 24.12.2010, 14:03
Новичок на форуме
Отправить личное сообщение для rhjirftyjn Посмотреть профиль Найти все сообщения от rhjirftyjn
 
Регистрация: 15.12.2010
Сообщений: 4

как работает setTimeout???
Здравствуйте.
задача: увеличичить картинку с размера 100px до 300px пошагово
без таймаута - получается простой ролловер (маленькая картинка - большая картинка).
я это списал на быстрое выполнение цикла, в результате чего вижу только конечные значения ширины картинки.
поставил таймаут - и все перестало работать.
чего не так сделано?
спасибо

-----------------------------------------------------------------------------
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
<title>Untitled Document</title>
</head>
<script type="text/javascript">

function bigImg()
{
var m = document.tigr.width;

while (m <300)
{
setTimeout('m=m+25',250);
document.tigr.width = m;
}
}
function resizeImg()
{
document.tigr.width = 102;
}

</script>


<body>
<img src="images/tigr.jpg" name="tigr" width="102" onclick="bigImg()" ondblclick="resizeImg()" />



</body>
</html>
----------------------------------------------------------------------
Ответить с цитированием
  #2 (permalink)  
Старый 24.12.2010, 14:31
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

http://alljs.ru/articles/timeout/
Ответить с цитированием
  #3 (permalink)  
Старый 24.12.2010, 14:35
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,118

rhjirftyjn, как вариант...

<!DOCTYPE html>
<html>
<head>
<style>
* {
	margin: 0;
	padding: 0;
}
div {
	width: 100px;
	height: 20px;
	background-color: silver;
}
</style>
<script>
function Go() {
	var o=document.getElementById('box').style
	var w=(o.width)? parseInt(o.width): 100
	var h=(o.height)? parseInt(o.height): 20
	w+=10
	h+=10
	if (w>300) {
		return
	}
	o.width=w+'px'
	o.height=h+'px'
	setTimeout(Go,20)
}
</script>
</head>
<body>
<div id='box'></div>
<input type='button' value='Go' onclick='Go()'>
</body>
</html>
Ответить с цитированием
  #4 (permalink)  
Старый 24.12.2010, 14:39
Новичок на форуме
Отправить личное сообщение для rhjirftyjn Посмотреть профиль Найти все сообщения от rhjirftyjn
 
Регистрация: 15.12.2010
Сообщений: 4

спасибо.
но тем не менее, хотелось бы узнать причину, по которой не работает мой код.
Ответить с цитированием
  #5 (permalink)  
Старый 24.12.2010, 14:41
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,118

Сообщение от rhjirftyjn
хотелось бы узнать причину, по которой не работает мой код
Вот это что у тебя?

setTimeout('m=m+25',250);
Ответить с цитированием
  #6 (permalink)  
Старый 24.12.2010, 14:52
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Сообщение от rhjirftyjn
но тем не менее, хотелось бы узнать причину, по которой не работает мой код.
Узнайте, кто ж вам мешает. Исчерпывающую информацию получили.
Ответить с цитированием
  #7 (permalink)  
Старый 24.12.2010, 14:53
Новичок на форуме
Отправить личное сообщение для rhjirftyjn Посмотреть профиль Найти все сообщения от rhjirftyjn
 
Регистрация: 15.12.2010
Сообщений: 4

увеличить ширину на 25, и через 2,5 секунды присвоить получившееся значение ширине рисунка.
Ответить с цитированием
  #8 (permalink)  
Старый 24.12.2010, 16:39
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,118

Сообщение от rhjirftyjn
увеличить ширину на 25, и через 2,5 секунды присвоить получившееся значение ширине рисунка.
Это так хочешь ты... Но сам метод делает только то, что он может/должен делать...
Вот это-то и можно почитать по ссыле что дал Kolyaj
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Решение проблемы кодировок для AJAX и PHP без iconv (cp1251 в AJAX) Serge Ageyev AJAX и COMET 10 24.04.2013 20:48
Как работает обработчик onMouseMove() bayah Общие вопросы Javascript 3 29.04.2010 14:36
Как завершить Settimeout() ? libinstyle Events/DOM/Window 7 29.03.2010 12:40
Как правильно послать XML в POST запросе LowCoder AJAX и COMET 10 15.07.2009 23:20
Не могу понять как работает jQuery kostiaGt jQuery 2 20.07.2008 08:42