![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
phelgmatic sceptic
Регистрация: 10.03.2008
Сообщений: 7
|
![]()
JavaScript. Ф-ия show() показывает картинку. Ф-ия kill() её удаляет. Как сделать чтобы каждые, к примеру, 5 секунд вызывалась фи-ия show() и через каждые 6 секунд после этого вызывалась ф-ия kill()? Поясню, эффект должен быть следующий: каждые пять секунд появляется картинка на шесть секунд.
Я пробовал использовать ф-ии setTimeout()/setInterval, но ничего не получилось: то картинки не удалялись, а вылазили и вылазили каждые пять секунд, то они наооборот не успевают вылазить и "удалялись несуществующие объекты"... :? |
![]() |
![]() |
![]() |
#2 |
Antimoderаtoris
Участник клуба
Регистрация: 08.02.2008
Сообщений: 1,251
|
![]()
Внутри функции kill() в конце вставить:
Код HTML:
window.setTimeout('show()',5000); Код HTML:
window.setTimeout('kill()',6000);
98% из тысячи моих постов сделаны в профильном подфоруме. Я не накручиваю свои посты болтанием в "курилке", а ты?
|
![]() |
![]() |
![]() |
#3 | |
phelgmatic sceptic
Регистрация: 10.03.2008
Сообщений: 7
|
![]()
После двух показываний/скрываний картинок появляется следующая ошибка:
Цитата:
|
|
![]() |
![]() |
![]() |
#4 | |
*
Старожил
Регистрация: 22.11.2006
Сообщений: 9,201
|
![]()
А вам не кажется, что ваше условие
Цитата:
Может быть, все-таки так: каждые одиннадцать секунд появляется картинка на шесть секунд ? Тогда у вас будет - 6 секунд есть картинка, 5 секунд - нет картинки... Нарисуйте простенькую временную диаграмму (ось времени с отсечками для событий) и определитесь с интервалами... |
|
![]() |
![]() |
![]() |
#5 |
phelgmatic sceptic
Регистрация: 10.03.2008
Сообщений: 7
|
![]()
Вы правы. Однако, изменение временных параметров не устранило проблемы. Точнее, старую проблему оно устранило - ошибка больше не появляется, но появилась новая. Теперь смена картинок работает только два раза. После двух появлений/исчезновений картинка застывает.
|
![]() |
![]() |
![]() |
#6 | |
phelgmatic sceptic
Регистрация: 10.03.2008
Сообщений: 7
|
![]()
Чёрт, я совсем с этими таймерами запутался!
Почему не работает: Цитата:
Вначале появляется "хай", потом, через секунду, он заменяется на"хай" (заметно мелькание) и всё! Больше не заменяется! |
|
![]() |
![]() |
![]() |
#7 | ||
*
Старожил
Регистрация: 22.11.2006
Сообщений: 9,201
|
![]()
Из учебника:
Цитата:
Цитата:
Этого набора вполне хватает для вашей задачи. Последний раз редактировалось mihali4; 16.03.2008 в 22:17. |
||
![]() |
![]() |
![]() |
#8 |
phelgmatic sceptic
Регистрация: 10.03.2008
Сообщений: 7
|
![]()
Ну, думаю, до того, чтобы порыться в учебнике, я мог бы додуматься и сам...
![]() В этот раз вы не поняли сути проблемы. Функция setTimeout() выполняется в теле функции, которую она же и вызывает. На лицо имеем рекурсию. То, что она не работает - это уже другое дело. Однако, в проблеме я уже разобрался: такая рекурсия не работает только с методом document.write() Со всеми остальными методами и функциями всё работает отлично. Всем спасибо за помощь. |
![]() |
![]() |