|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
30.06.2008, 15:27 | #1 |
Пользователь
Регистрация: 24.12.2006
Сообщений: 33
|
Выезжающее меню при загрузке страницы
Добрый день, уважаемые посетители форума!
Несколько дней назад возникла необходимость в создании навигационного меню, которые бы "выплывало" после окончательной загрузки страницы из-под логотипа, находящегося в шапке страницы (т.е. с определенными координатами места страницы). В связи с этой проблемой - несколько вопросов: 1. Как определить средствами JavaScript окончание загрузки страницы? 2. Есть ли у кого-нибудь похожие примеры, которые бы помогли разобраться в этой проблеме? |
30.06.2008, 15:41 | #2 |
Laravel/Vue expert
Старожил Подтвердите свой е-майл
Регистрация: 08.08.2007
Сообщений: 2,832
|
1. Используйте событе onLoad:
Код HTML:
<body onLoad="javascript: myfunc();">
....
Предлагается создать глобальную переменную и с каждой пробежкой функции по таймеру - прибавлять некоторое значения, влияющее на скорость к текущей верхней позиции дива (начальная - равна отрицательному значению и абослютное значение верхней точки равно его высоте). В каждой пробежке функции нужно будет задать условие, которое остановит таймер (clearTimeOut), если верхнее значение больше или равно нулю. Узнать о функциях тайминга можно в школе w3schools Добавлено: Кстати, глобальную переменую можно и не юзать, а использовать конструкцию типа: Код HTML:
function iterate_me(){ var mnu_el = document.getElementById("mymnu"); if (!mnu_el) return false; mnu_el.style.top = parseInt(mnu_el.style.top) + anim_speed + "px"; //автоинкремент .. Последний раз редактировалось SkyM@n; 30.06.2008 в 16:22. |
30.06.2008, 20:55 | #3 |
Пользователь
Регистрация: 24.12.2006
Сообщений: 33
|
Спасибо!
Все получилось! Использовал SetTimeOut и глобальную переменную (с ней проще изменять этот параметр). Кстати, а есть смысл использовать ClearTimeOut? Работает и без использования данной функции! |
30.06.2008, 22:51 | #4 |
Laravel/Vue expert
Старожил Подтвердите свой е-майл
Регистрация: 08.08.2007
Сообщений: 2,832
|
|
01.07.2008, 00:24 | #5 |
Пользователь
Регистрация: 24.12.2006
Сообщений: 33
|
Я остановил его условием, не применяя указанной функции.
|
01.07.2008, 11:00 | #6 |
Laravel/Vue expert
Старожил Подтвердите свой е-майл
Регистрация: 08.08.2007
Сообщений: 2,832
|
|
01.07.2008, 11:19 | #7 |
Пользователь
Регистрация: 24.12.2006
Сообщений: 33
|
Нет! Только использовал ее в цикле для увеличения параметра относительно верхнего левого угла через некоторый временной промежуток.
|
02.07.2008, 08:43 | #8 |
Пользователь
Регистрация: 24.12.2006
Сообщений: 33
|
Теперь возникла проблема со скрытием ссылок (а-ля ячеек таблицы). Идея следующая - в первую очередь должно опускаться меню со спрятанными ссылками, а через некоторое время (когда меню полностью опустится) с заданным интервалом должны появляться ссылки одна за другой (Возможно ли сделать путем увеличения прозрачности ячеек от 0 до 1?). Сделал ячейки как отдельные слои, однако никак не получается их скрыть.
Приложен файл, где можно посмотреть как у меня это реализовано. |
02.07.2008, 13:51 | #9 |
Laravel/Vue expert
Старожил Подтвердите свой е-майл
Регистрация: 08.08.2007
Сообщений: 2,832
|
Не понял...
|
02.07.2008, 14:01 | #10 |
Пользователь
Регистрация: 24.12.2006
Сообщений: 33
|
Хорошо, разложу движения меню по пунктам:
1. После загрузки страницы должен визуально опускаться главный слой меню (т.е. чтобы был виден только контур меню - без слоев-ячеек). У меня не получается оставить видимым только контур - остается либо полностью видимое меню, либо полностью невидимое. 2. Когда меню полностью загрузилось, появляются постепенно (увеличивая параметр их прозрачности) его пункты. Не получается сделать плавный переход от пустоты до полного появления. Такие задумки вообще реализуемы? |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Выезжающее меню | beginner | JavaScript, Ajax | 0 | 18.07.2008 20:13 |
Как сделать разрыв страницы печати по условию и узнать номер страницы | Leanna | Microsoft Office Excel | 2 | 21.01.2008 06:59 |
Ошибка при загрузке.... | Ronni10 | Операционные системы общие вопросы | 6 | 10.01.2008 22:20 |
Ошибка при загрузке Delphi 6 | bllem | Общие вопросы Delphi | 10 | 20.11.2006 20:37 |