![]() |
|
Модераторы: Sardar, Aliance |
![]()
|
|
| PROme |
|
||||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 346 Регистрация: 23.7.2003 Где: Kiev Репутация: нет Всего: 1 |
Очень уж я слаб в ЖС
Надыбал такой скрипт:
это в отдельном файле и работает так:
+ вот это:
Кароче скрипт при наведении мыши на объект вываливает меню (onmouseover="ypSlideOutMenu.showMenu('menu1');"), при отведении =) - убирает (onmouseout="ypSlideOutMenu.hideMenu('menu1');") хотя я думаю и так све понятно... При этом меню перед появлением невидно, также как и после свертывания. Мне нужно чтобы еще до вываливания (наведения мыши на объект) была видна нижняя часть меню, при наведении - высовывать его целиком, а при отведении - в исходное состояние (видня нижняя часть - т.е. меню полностью не прячится). Пожалуйста помогите! -------------------- SEO-мастер |
||||||
|
|||||||
| Sardar |
|
||||||
![]() Бегун ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6986 Регистрация: 19.4.2002 Где: Нидерланды, Groni ngen Репутация: 78 Всего: 317 |
Оценки скрипту потом вынесем...
Строчкой:
задается на сколько будет спрятанно меню, в данном случае полностью. Отними от всей это лабуды столько пикселей на сколько это дело будет торчать. Можно задать это в конструкторе, но тогда вот эти строки не нужны:
Что бы меню не исчезало, измени следующее:
P.S. Первая туева хуча строк вообще не нужна, ты же не системную утилиту по определению платформы пользователя пишешь -------------------- Опыт - сын ошибок трудных © А. С. Пушкин Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik Оценить мои качества можно тут. |
||||||
|
|||||||
| PROme |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 346 Регистрация: 23.7.2003 Где: Kiev Репутация: нет Всего: 1 |
Sardar ну спасибо тебе человечище!!!
Хотел че-нить с твоим рейтингом сделать, а там ашыбка Ниче, я тебе это припомню ЗЫ: а скрипт, ясен пень не я писал - нашел на диске - это было выпадающее меню... я его доделаю, почищу, а потом еще потревожу, мож че подскажешь, а то я могу и лишнего оставить... -------------------- SEO-мастер |
|||
|
||||
| Sardar |
|
|||
![]() Бегун ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6986 Регистрация: 19.4.2002 Где: Нидерланды, Groni ngen Репутация: 78 Всего: 317 |
PROme Как скрпт будет готов, кинь мне на мыло. Будет время попробую оптимизировать.
-------------------- Опыт - сын ошибок трудных © А. С. Пушкин Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik Оценить мои качества можно тут. |
|||
|
||||
| PROme |
|
||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 346 Регистрация: 23.7.2003 Где: Kiev Репутация: нет Всего: 1 |
Тут еще проблемка...
Юзается чтобы опустить/поднять меню... Если я пишу что-то типа такого:
Ничего не происходит К томуже уберал я эти события (при неведении/отведении мыши от текста, сохранил, обновил - а оно все равно так!) Помогите пожалуйста! -------------------- SEO-мастер |
||||
|
|||||
| Alx |
|
|||
|
Ajaxy ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2903 Регистрация: 26.11.2003 Где: Cutopia Репутация: 10 Всего: 78 |
это потому, что эта функция выполняется перед загрузкой всего документа, т.е. она выполняется, а ypSlideOutMenu ещё не существует! поэтому сделай так:
<body onload="ypSlideOutMenu.showMenu('menu1');"> или так: <script> function func() {ypSlideOutMenu.showMenu('menu1'); } </script> <body onload="func();"> |
|||
|
||||
| PROme |
|
||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 346 Регистрация: 23.7.2003 Где: Kiev Репутация: нет Всего: 1 |
Все равно непахает
Я думаю тут дело и в самом модуле, например вот тут:
вот этот кусок:
Хотяможет я и неправ... но там что-то с мышей Очень тебя прошу, если можешь помоги, а то я этого невыдержу -------------------- SEO-мастер |
||||
|
|||||
| PROme |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 346 Регистрация: 23.7.2003 Где: Kiev Репутация: нет Всего: 1 |
Да, забыл уточнить - меню двигается при наведении на него мышей, а как по-другому не пытаюсь сдвинуть его с места - ни в какую.
Еще немного уточню задачу - может можно как-то легче сделать итак, что надо: загружается страница, меню полу спрятано, потом стартует один ЖС скрипт и сразу выежает меню и пока он работает меню никуда не дергается. Вкрипт отработал - меню заежает в исходную позицию. -------------------- SEO-мастер |
|||
|
||||
| PROme |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 346 Регистрация: 23.7.2003 Где: Kiev Репутация: нет Всего: 1 |
Начал искать в Сети и нашел одну маленькую статью с таким же кодом, по-моему именно то что мне надо:
Но вот, как я не пытался применить этот код, ничего невыходит Может подскажете ламерюке? -------------------- SEO-мастер |
|||
|
||||
| Sardar |
|
||||
![]() Бегун ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6986 Регистрация: 19.4.2002 Где: Нидерланды, Groni ngen Репутация: 78 Всего: 317 |
Ну вы блин даете...
Ладно разберемся с кодом. Все вопрсы по синтактису(во а я не знал что так можно!!!) напрявлять в PM и конечно RTFM. Первый кусок понятно что делает, узнает "всю правду" о клиентском ПО. Далее определяется проторип/функция: ypSlideOutMenu Её задача найти и подготовить менюшку по заданному ID. Также задаются обязательные стили для менюшки. Еще создается переменная ypSlideOutMenu_id содержащая обьект представляющий менюшку. Он также находится в ypSlideOutMenu.Registry - массив всех созданных меню/обьектов. Функция ypSlideOutMenu{object}.load() устанавливает меню в исходное положение. Заодно выставляет обработчики событий onmouseover и onmouseout, т.е. задавать их в тегах не нужно. Убрать реакцию на мышь можно закомментировав:
Создается/регистрируется менюшка через: [ypSlideOutMenu_(id)=] new ypSlideOutMenu(id,направление,поз_х, поз_y, ширина, высота) Всем обьектам/менюшкам заданны функции в прототипе: 1) startSlide - запуск движения, устанавливает временной интервал, вызываетс showMenu 2) slide - расчет новой позиции, вызывается в интервале, через каждые minCPUResolution милисекунд 3) endSlide - сброс анимации, скрытие/открытие меню, вызов возврата 4) setVisibility - думаю понятно 5) moveTo - устанавливает менюшку в заданное положение Это все тобой не используется. Тебе доступны функции управления, собранные в функции/прототипе ypSlideOutMenu(ну где ты еще такое увидишь 1) showMenu(ИД_нужной_менюшки) - показать меню, естественно оно должно быть закруженно и зарегистрированно(if(typeof(ypSlideOutMenu_(id))!='undefined')...). 2) hideMenu(ИД)нужной_менюшки) - скрыть меню Когда меню открывается или наоборот закрывается, то вызывается onactivate или ondeactivate события менюшки. Открыть менюшку можно через ypSlideOutMenu.showMenu('menu_ID'):
Закрыть можно через hideMenu. Это рабтает, я проверил. Вроде все. Второй скрипт работает с вырезкой(clip), первый с хорошим свойством CSS overflow:hidden. Каждый вибирает по вкусу. -------------------- Опыт - сын ошибок трудных © А. С. Пушкин Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik Оценить мои качества можно тут. |
||||
|
|||||
| PROme |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 346 Регистрация: 23.7.2003 Где: Kiev Репутация: нет Всего: 1 |
Сделал, жалуется на строку (последнюю):
Незнаю даже... и к стати, не стоит рассписывать что там зачем, я изучил уже много языков, синтаксис у ЖС очень простой так что видя некоторые вещи в первый раз могу с увереностью сказать зачем они и что делают. А вот если на ЖС (или другом незнакомом) нужно что-то изменить тут уже проблемки, темболее если учесть жесткий синтаксис ЖС и фактически отсутствие каких-либо средств отладки. Спасибо огромное за помощь, мне был бы интересен тот скрипт что у тебя работал, а не описание. Если можешь, плиз прикрепи архив. Такие же проблемы и со вторым... Еще раз огромное спасибо за то что взялся мне помочь -------------------- SEO-мастер |
|||
|
||||
| PROme |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 346 Регистрация: 23.7.2003 Где: Kiev Репутация: нет Всего: 1 |
А окуда вызывать ypSlideOutMenu.hideMenu('menu1'); Мне надо чтоб страница загружалась - вылазит меню, ЖС скрипт на нем кое-че меняет, а после оно обратно залазит. -------------------- SEO-мастер |
|||
|
||||
| Sardar |
|
|||
![]() Бегун ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6986 Регистрация: 19.4.2002 Где: Нидерланды, Groni ngen Репутация: 78 Всего: 317 |
PROme из-за тебя не выспался
Переписал скрипт с "нуля", чуть изменив и уличшив алгоритм. Где не понятно вставлял коментарии, вопросы пости сюда.
Ограничения: 1) все стили должны уже быть заданными, не хотел что бы скрипт изменял что либо. 2) обязательные параметры стиля: width(для горизон.),height(для верт.),position:absolute у обоих, overflow:hidden у контейнера. Проверенно в IE, Мозилла 1.6, Опера 7.2. Вроде должно(по спецификациям) работать и под NS4, но если будут проблемы(баги с setTimeout и т.д.), то звыняйте 21 век уже. -------------------- Опыт - сын ошибок трудных © А. С. Пушкин Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik Оценить мои качества можно тут. |
|||
|
||||
| PROme |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 346 Регистрация: 23.7.2003 Где: Kiev Репутация: нет Всего: 1 |
Sardar, не будешь бить меня?
Неработает -------------------- SEO-мастер |
|||
|
||||
| SVK |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 67 Регистрация: 22.5.2003 Репутация: нет Всего: 1 |
убери "\ " в конце строк:
SlipMenu.create('menu1','down',20,\ "this.style.backgroundColor='#d8fadf'",\ "this.style.backgroundColor='#c5edd6'",\ "this.style.backgroundColor='#a2c4ab'",\ - заработает Красивая менюшка получается! Клево так выезжает. |
|||
|
||||
![]()
|
| Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | JavaScript: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |