Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Компьютеры + Интернет » Вебмастеру » Изменение ширины блока (Java Script)

Ответить
Настройки темы
Изменение ширины блока (Java Script)

Аватара для benya

Старожил


Сообщения: 302
Благодарности: 5

Профиль | Сайт | Отправить PM | Цитировать


Господа, подскажите почему не работает вот такая конструкция?

Код: Выделить весь код
<script language="JavaScript" type="text/javascript">
<!--
diva = document.getElementById('div');
for (var y=0; y<500; y++) {
setTimeout("diva.style.width = "+y+"",500);
}
//-->
</script>
<div id="div" style="border:#000000 1px solid; width:0px;"> </div>

Отправлено: 17:18, 17-11-2006

 

Аватара для vadimiron

Ветеран


Сообщения: 1864
Благодарности: 120

Профиль | Отправить PM | Цитировать


А если: setTimeout("diva.style.width = diva.style.width+y",500); ?

-------
Fortes fortuna adiuvat


Отправлено: 19:39, 17-11-2006 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Deadooshka


Сообщения: 2529
Благодарности: 695

Профиль | Отправить PM | Цитировать


imho если !DOCTYPE стоит, размерность везде надо ставить... т.е. diva.style.width = '"+y+"px'"... (это не так важно )
в таком виде не будет работать, т.к. код выполяется, когда еще не загружен div (ошибка будет), надо в виде функции на onload делать...

Последний раз редактировалось Sham, 17-11-2006 в 21:59.


Отправлено: 21:33, 17-11-2006 | #3


Аватара для benya

Старожил


Сообщения: 302
Благодарности: 5

Профиль | Сайт | Отправить PM | Цитировать


Sham,
Совершенно верно.

Кстати, господа, а кто знает как дождаться завершения рекурсивной функции (см. код ниже)?
HTML код: Выделить весь код
<body onload="ma()"> <script language="JavaScript" type="text/javascript"> <!-- var y = 0; function ma() { my(); alert('yes!'); } function my() { y += 1; document.getElementById('div').style.width = y+"%"; if (y < 50) setTimeout("my("+y+")", 5); } //--> </script> <div id="div" style="border:#000000 1px solid; width:0px;"> </div> </body>

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

Отправлено: 15:52, 29-11-2006 | #4


Deadooshka


Сообщения: 2529
Благодарности: 695

Профиль | Отправить PM | Цитировать


benya
Цитата:
alert('yes!');
а чем не устраивает setTimeout("alert('yes!')", 1000);?

Отправлено: 21:18, 29-11-2006 | #5


Аватара для benya

Старожил


Сообщения: 302
Благодарности: 5

Профиль | Сайт | Отправить PM | Цитировать


Sham,
Тем что функция будет в цикле и каждый раз количество "оборотов" будет разным в конструкции:
if (y < 50) setTimeout("my("+y+")", 5);
Поэтому будет либо большая пауза, либо выполняться скрипт будет парралельно.
Нужно либо подсчитать время, либо дождаться завершения рекурсивной функции.

Отправлено: 12:51, 30-11-2006 | #6


Deadooshka


Сообщения: 2529
Благодарности: 695

Профиль | Отправить PM | Цитировать


benya тогда вместо
Цитата:
if (y < 50) setTimeout("my("+y+")", 5);
такой вариант
Код: Выделить весь код
(y < 50)? setTimeout("my("+y+")", 5):setTimeout("alert('yes!')", 5);
и первый alert убрать всвязи с этим...

Отправлено: 02:15, 01-12-2006 | #7


Аватара для benya

Старожил


Сообщения: 302
Благодарности: 5

Профиль | Сайт | Отправить PM | Цитировать


Ясно. Только я поставил слегка другое условие:
if (y == 50) alert('yes!');
Результат почти один.

Отправлено: 15:03, 01-12-2006 | #8



Компьютерный форум OSzone.net » Компьютеры + Интернет » Вебмастеру » Изменение ширины блока (Java Script)

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Разное - Java Script aleksking Хочу все знать 5 03-09-2009 11:34
Java script umnik Хочу все знать 7 22-09-2004 01:14
Java Script diter Хочу все знать 5 03-07-2003 23:29
Java script Slimka Программирование и базы данных 3 25-06-2003 22:01
JAVA SCRIPT CTEPX Вебмастеру 1 22-11-2002 22:58




 
Переход