Вы не зашли.
Решаю задачу - новый генератор меню для ngcms.
Основные требования:
1. Работа даже при выключенном JS (т.е. все чисто-JS-меню отпадают)
2. Возможность открывать/закрывать ветки меню (при клике на "+" и "-")
3. Выделение текущего активного пункта меню
Получился вполне компактный HTML/JS код, но вот проблема - в FF меню работает отлично.
А вот в других браузерах начинаются проблемы:
IE - для блока span, для которого выставлено display: list-item, почему-то не срабатывает событие onclick при щелчке на мой list-style-image
Opera - вообще не отрабатывает list-style-image
Знатоки HTML, помогите разобраться!
Вот так выглядит предварительный вариант меню:
HTML код меню лежит тут: http://ngcms.ru/test/menu/list.html
Не в сети
sparco, а ты отключи JScript'ы и посмотри что будет с этим меню (подсказка - ничего не будет, меню вообще не появится).
По условиям задачи меню должно отображаться даже в случае отключения JScript'ов, поэтому оно должно отрисовываться через HTML. И DTree тут не подходит (хотя он мне тоже нравится).
Не в сети
vitaly, очень интересно, как решил проблему? Или выложи в SVN покурить...
Всегда ищу разработчиков в Киеве!
Ищешь работу программистом, пиши мне на ArnitUA@gmail.com
Не в сети
vitaly, я заменил span на img, добавил две строки в скрипт, теперь работает везде...
Всегда ищу разработчиков в Киеве!
Ищешь работу программистом, пиши мне на ArnitUA@gmail.com
Не в сети
vitaly, я заменил span на img, добавил две строки в скрипт, теперь работает везде...
Какие строчки ? Поподробнее, plz...
Не в сети
Вот, что у меня вышло
http://www.iem.arnit.com.ua/download/tree.rar
Вся проблема в том, что IE не обрабатывает OnClick, по пустому элементу, коим в данном примере
был span, даже если ты в стилях пропишешь фон, элемент, по их мнению, должен содержать хоть что-то.
Поэтому я явно вставил картинку и обрабатываю OnClick по ней.
Немного причесать и можно использовать на сайте
p.s.: В Opera не проверял. IE6, IE7 - все ok. FF - само собой, там всегда все ok.
Изменено Amarelius (2009-02-04 20:11:04)
Всегда ищу разработчиков в Киеве!
Ищешь работу программистом, пиши мне на ArnitUA@gmail.com
Не в сети
Вот, что у меня вышло
http://www.iem.arnit.com.ua/download/tree.rar
Вся проблема в том, что IE не обрабатывает OnClick, по пустому элементу, коим в данном примере
был span, даже если ты в стилях пропишешь фон, элемент, по их мнению, должен содержать хоть что-то.
Поэтому я явно вставил картинку и обрабатываю OnClick по ней.
Немного причесать и можно использовать на сайтеp.s.: В Opera не проверял. IE6, IE7 - все ok. FF - само собой, там всегда все ok.
СПАСИБО ! Буду экспериментировать...
Не в сети
Вот, что у меня вышло
http://www.iem.arnit.com.ua/download/tree.rarp.s.: В Opera не проверял. IE6, IE7 - все ok. FF - само собой, там всегда все ok.
В опере работает. С выключенным яваскриптом, основное меню доступно, подпункты - нет. Ну и ладно - так сойдет.
Вопрос в другом - как можно сделать, чтобы запоминался пункт меню, и не приходилось плюсики по новой каждый раз нажимать?
Имеется в виду вот это:
...
3. Выделение текущего активного пункта меню
...
Изменено Eterex (2009-03-09 23:56:30)
Не в сети
Eterex, вариантов несколько:
1. В куки писать ID раскрытых и выбранных пунктов меню, а при перегрузке страницы в onLoad для меню считывать куки, раскрывать и выделять необходимые пункты меню (считаю самым правильным вариантом)
2. Можно передавать туже инфу на сервер при помощи XMLHttpRequest и писать в сессии, при перегрузке страницы передавать её браузеру (более заморочистый, но должен работать при отключенных куках)
Всегда ищу разработчиков в Киеве!
Ищешь работу программистом, пиши мне на ArnitUA@gmail.com
Не в сети
С выключенным яваскриптом, основное меню доступно, подпункты - нет.
Не проблема, можно легко сделать, чтобы при отключенных скриптах менюшка была полностью раскрыта
Всегда ищу разработчиков в Киеве!
Ищешь работу программистом, пиши мне на ArnitUA@gmail.com
Не в сети
Eterex, вариантов несколько:
1. В куки писать ID раскрытых и выбранных пунктов меню, а при перегрузке страницы в onLoad для меню считывать куки, раскрывать и выделять необходимые пункты меню (считаю самым правильным вариантом)...... Не проблема, можно легко сделать, чтобы при отключенных скриптах менюшка была полностью раскрыта...
А что именно и где нужно прописать? Спасибо заранее!
Не в сети
Eterex, это надо делать в рамках плагина, ведь присвоение ID для пунктов меню происходит на стороне сервера. Дальнейшая обработка на стороне клиента -- чисто технический вопрос http://www.codenet.ru/webmast/js/Cookies.php
Всегда ищу разработчиков в Киеве!
Ищешь работу программистом, пиши мне на ArnitUA@gmail.com
Не в сети
Amarelius, у меня это меню вынесено вручную, и категориями не является. То есть, ссылки на обычные странички сгруппированы в такую менюшку. Брр... надо учиться излагать мысли яснее, сам не понял чего написал)). В общем, тут можно глянуть alcogu.ru , справа.
Не в сети
Eterex, Я понял, она у тебя статическая. Тогда будет время, прикручу к менюшке куки.
Всегда ищу разработчиков в Киеве!
Ищешь работу программистом, пиши мне на ArnitUA@gmail.com
Не в сети
Eterex, Вот держи http://www.iem.arnit.com.ua/download/tree2.rar
, немного причесал.
Из особенностей:
1. Строка меню не переносится если не помещается в окно
2. При отключенных скриптах, показывает развернутый список
3. При включенных скриптах запоминает раскрытые пользователем пункты меню между сеансами
Обязательно!!! Пунктам меню которые разворачиваются присвоить разные ID (не важно какие, любые)
--------------------------------
Юзай на здоровье
Изменено Amarelius (2009-03-10 22:04:07)
Всегда ищу разработчиков в Киеве!
Ищешь работу программистом, пиши мне на ArnitUA@gmail.com
Не в сети
Eterex, это надо делать в рамках плагина, ведь присвоение ID для пунктов меню происходит на стороне сервера. Дальнейшая обработка на стороне клиента -- чисто технический вопрос http://www.codenet.ru/webmast/js/Cookies.php
Спасибо большое за Ваши знания и умения Amarelius, но ни один "помешанный" на безопасности своего
компьютера никогда не позволит своему компу сторонние "куки"- соответсвено схема не работает...
Не в сети
hot, помешанные хай каждый раз туцкают по меню
Кстати идентификатор сессий тоже в куках хранится...
wikipedia
Имеется и ряд заблуждений о куки. Они главным образом основаны на уверенности людей, что куки являются компьютерными программами. На самом деле, куки — это простые текстовые данные и они не могут выполнять какие-либо действия самостоятельно. В частности, куки не могут быть ни вирусами, ни шпионскими программами.
Изменено Amarelius (2009-03-11 00:32:34)
Всегда ищу разработчиков в Киеве!
Ищешь работу программистом, пиши мне на ArnitUA@gmail.com
Не в сети