Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: 1 2 [Все]   Вниз
  Печать  
Автор Тема: Необычное выпадающее меню  (Прочитано 19449 раз)
0 Пользователей и 1 Гость смотрят эту тему.
asgard
Гость
« : 09-12-2009 03:19 » 

Вот, долго мучаился, решил написать на  форум, аналогов не нашел, чтоб можно было чтт-то подделать или исправить.

Собственно, чего я хочу: 
1 все  меню - картинками
2 выпадающее меню вертикальное
3 действует на клик
4 выпадающе окно должно быть так же картинкой без лишних прокруток внутри окна, на фоне картинки должен быть список ссылок с прокруткой, их много, поэтому должен быть какой-то массив, чтоб можно было этот список редактировать
5 прокрутка должна быть не просто как в Windows, а чтоб можно было задать свою форму

Народ, пожалуйста, очень прошу, хорошая задумка, вот только у меня исполнение хрОмает(((  Помогите, пожалуйста.
« Последнее редактирование: 09-12-2009 07:43 от Джон » Записан
Falsehood
Молодой специалист

ru
Offline Offline
Пол: Женский
не может быть


« Ответ #1 : 09-12-2009 13:46 » 

а про какое меню речь? главное? которое Файл, Правка и т.д.?
если это, то оно набирается из объектов класса JMenuItem, в частности.
JMenuItem в конструктор можно передать Action, у которого можно задать свойство icon и не задавать text. не уверена, но возможно, что тогда будет отображаться только иконка. ну и в методе actionPerformed объекта класса Action надо реализовать ту логику, которую тебе нужно, т.е. выпадающее окошко с картинкой и ссылками.
с редактированием списка ссылок я не поняла в чем проблема, а прокрутку можно реализовать свою в своем Look-adn-Feel, наверное.
Записан

Славная трава...
asgard
Гость
« Ответ #2 : 09-12-2009 22:08 » 

Картинка должна быть, как фон, то есть, я как мыслю,  Дивами, но у меня просто то, что я пробовал, напрочь не получается...
Меню просто основное,  как есть куча литературы про выпадающие меню, но отличием является, что клик по одной картинке всплывает окно, форма должна быть, как заданный рисунок, и уже на фоне должно быть много подменю, которые можно было бы редактировать php, то есть, какой-то массив, естественно, с видимыми ссылками около 10 - 15 с декоративной прокруткой.
Меня бы хотя бы подтолкнуть, от чего бежать, JS, честно  скажу, практически не знаю, но хотелось бы хоть как-то начать и, как бы для себя, сделал вот такую задачу, но пока что сам разобраться не могу, хотелось бы, чтоб кто-то подтолкнул...
« Последнее редактирование: 10-12-2009 05:34 от Sel » Записан
Sla
Команда клуба

ua
Offline Offline
Пол: Мужской

WWW
« Ответ #3 : 10-12-2009 07:11 » 

Нарисуй картинку, как ты хочешь видеть свое меню.
Falsehood, речь идет о "выпадающем" меню, написанного на js-скрипта
Записан

Мы все учились понемногу... Чему-нибудь и как-нибудь.
asgard
Гость
« Ответ #4 : 10-12-2009 08:07 » 

Ну вот как-то так...
Да, на JS, мне в нем как-то проще разобраться и не хочеТСя делать во флаше.

* приер меню.jpg (53.2 Кб - загружено 280 раз.)
« Последнее редактирование: 10-12-2009 08:12 от Sel » Записан
Алексей++
кот глобальный и пушистый
Глобальный модератор

ru
Online Online
Сообщений: 13


« Ответ #5 : 10-12-2009 08:18 » 

Приятная на цвет картинка, но непонятная Улыбаюсь
Записан

Falsehood
Молодой специалист

ru
Offline Offline
Пол: Женский
не может быть


« Ответ #6 : 10-12-2009 08:19 » 

Sla, так надо, наверное, в другую ветку форума перенести.

asgard, что именно не получается? на событие onClick пункта меню делать видимым div с твоими 10ю - 15ю ссылками?
Записан

Славная трава...
asgard
Гость
« Ответ #7 : 10-12-2009 08:22 » 

Да
Записан
Sla
Команда клуба

ua
Offline Offline
Пол: Мужской

WWW
« Ответ #8 : 10-12-2009 08:27 » 

asgard, это не "как-то так", это вообще никак Жаль

Код:
<ul id="menu" class="sub0">
  <li>p1</li>
  <li>p2
     <ul class="sub1">
        <li> p2.1</li>
        <li> p2.2</li>
     </ul>
   </li>
</ul>
Вот тебе двухуровневое меня.
Играя классами, id, можно делать что хочешь.
Записан

Мы все учились понемногу... Чему-нибудь и как-нибудь.
asgard
Гость
« Ответ #9 : 10-12-2009 08:30 » 

да, только должна выйти форма в виде картинки с видимыми меню и 10-15 ссылками,  с прокруткой при этом декоративной. Просто таблица тут не прокатит, я уже мучался... и пытался сделать подобно вашему примеру...
« Последнее редактирование: 10-12-2009 09:08 от Алексей1153++ » Записан
Sla
Команда клуба

ua
Offline Offline
Пол: Мужской

WWW
« Ответ #10 : 10-12-2009 08:34 » 

asgard, где у меня таблица?

покажи свой список меню, чтоб мы не говорили в пустоту.
Записан

Мы все учились понемногу... Чему-нибудь и как-нибудь.
asgard
Гость
« Ответ #11 : 10-12-2009 08:40 » 

В том-то и дело, что его нет, то есть, это будет около 100- 150 ссылок, которые можно было бы редактировать, то есть, загнать их в какой-то массив и из административной части уже править, мне нужно придумать какую-то подвязку к php,  с php,  и MySQl я уже разберусь...
Ссылки периодически должны функционально меняться в с приходом какой-то новой информации...
« Последнее редактирование: 10-12-2009 09:07 от Sel » Записан
Sla
Команда клуба

ua
Offline Offline
Пол: Мужской

WWW
« Ответ #12 : 10-12-2009 08:43 » 

asgard, а никто и не говорит, даже не требует, о реальном списке.
Выкладывай свой тестовый список, желательно в таком виде как я показал, с id и class.
Будем разбираться.
Записан

Мы все учились понемногу... Чему-нибудь и как-нибудь.
asgard
Гость
« Ответ #13 : 10-12-2009 08:43 » 

asgard, где у меня таблица?
теги <li> подразумевают табличные данные то есть сделать большую таблицу, которая необходима, не получится...

asgard, а никто и не говорит, даже не требует, о реальном списке.
Выкладывай свой тестовый список, желательно в таком виде как я показал, с id и class.
Будем разбираться.
Дело в том, что кроме как статичного меню у меня ничего нет, я как раз-таки и прошу, чтоб мне как-то разъяснили, откуда плясать с div окном, которое имеет форму фона, то есть, картинка  будет не просто какой-то овал, а с инкрустацией, в котором будет уже какой-то массив с ссылками(подменю), при этом, чтоб не загружать сразу все 100 в 1 окно, хотелось бы, чтоб из 100 ссылок были видимыми только 10 - 15 и, соответственно, с декоративной прокруткой.

Sla, не хочу обижать, но если бы было все так просто и можно было сделать все в css, я б не писал на форум((
« Последнее редактирование: 10-12-2009 09:10 от Sel » Записан
Sla
Команда клуба

ua
Offline Offline
Пол: Мужской

WWW
« Ответ #14 : 10-12-2009 08:59 » 

Цитата
теги <li> подразумевают табличные данные
Это что-то новое в html, может я что-то пропустил?

приведу пример, раскрывающегося списка turbo.com.ua (там где классификация)
Записан

Мы все учились понемногу... Чему-нибудь и как-нибудь.
asgard
Гость
« Ответ #15 : 10-12-2009 09:03 » 

Это что-то новое в html, может я что-то пропустил?

приведу пример, раскрывающегося списка turbo.com.ua (там где классификация)
Ну, это опять же таки вид таблицы, так не получится, представте себе раскрытые 100 ссылок таким образом...
« Последнее редактирование: 10-12-2009 09:11 от Sel » Записан
Sla
Команда клуба

ua
Offline Offline
Пол: Мужской

WWW
« Ответ #16 : 10-12-2009 09:15 » 

Разделяй контент от визуализации.
Не забывай о юзабилити своих 100 ссылок.

То что, в указанном примере выглядит в виде таблицы, то не означает, что это таблицы.

Показывай тестовый список.
Записан

Мы все учились понемногу... Чему-нибудь и как-нибудь.
Falsehood
Молодой специалист

ru
Offline Offline
Пол: Женский
не может быть


« Ответ #17 : 10-12-2009 09:21 » 

asgard, задай у вложенного списка нужную высоту и укажи в его стиле overflow: auto; появится прокрутка:
Код:
<ul id="menu" class="sub0">
  <li>p1</li>
  <li>p2
     <ul class="sub1" style="overflow: auto; height: 100px; width: 100px;">
        <li> p2.1</li>
        <li> p2.2</li>
        <li> p2.1</li>
        <li> p2.2</li>
        <li> p2.1</li>
        <li> p2.2</li>
        <li> p2.1</li>
        <li> p2.2</li>
        <li> p2.1</li>
        <li> p2.2</li>
        <li> p2.1</li>
        <li> p2.2</li>
        <li> p2.1</li>
        <li> p2.2</li>
        <li> p2.1</li>
        <li> p2.2</li>
     </ul>
   </li>
</ul>
Записан

Славная трава...
asgard
Гость
« Ответ #18 : 10-12-2009 09:22 » 

Извини, я уже написал, что списка нет, список будет составляться при получении данных, у меня предположение, что каждая ссылка может быть объектом в массиве, но если есть более простое или рацианальное решение, я не откажусь...

Для начала нужно вообще создать окно, которое будет соответствовать форме картинки и подумать, как можно разместить там ссылки с прокруткой...
« Последнее редактирование: 10-12-2009 09:25 от Sel » Записан
Falsehood
Молодой специалист

ru
Offline Offline
Пол: Женский
не может быть


« Ответ #19 : 10-12-2009 09:37 » 

asgard,

какой формы картинка - не имеет никакого значения.
ссылки ты хочешь разместить не списком? тогда как? облаком?

то, что данные будут получены после клика на пункт меню - понятно. прежде чем вводить эту интерактивность, сделай статический макет того, что ты хочешь получить.
Записан

Славная трава...
asgard
Гость
« Ответ #20 : 10-12-2009 09:38 » 

asgard, задай у вложенного списка нужную высоту и укажи в его стиле overflow: auto; появится прокрутка:
Это хорошо, только список должен быть поверх других статичных меню. То есть, я примерно прикинул на рисунке, что под окном есть еще меню основные. И нужно еще редактировать эти подменю и их количество. Поэтому опять же таки я предполАгаю, что это должен быть массив объектов.
« Последнее редактирование: 10-12-2009 09:42 от Sel » Записан
Sla
Команда клуба

ua
Offline Offline
Пол: Мужской

WWW
« Ответ #21 : 10-12-2009 09:51 » 

asgard, т.е. останавливаемся на тестовом списке от Falsehood?

Теперь, надо повесить обработчики onclick на пункт меню, требующий раскрытия.
Записан

Мы все учились понемногу... Чему-нибудь и как-нибудь.
asgard
Гость
« Ответ #22 : 10-12-2009 09:58 » 

asgard, т.е. останавливаемся на тестовом списке от Falsehood?

Теперь, надо повесить обработчики onclick на пункт меню, требующий раскрытия.
Не совсем, идея хорошая, но тут с подменю нужно еще создать уловие Z-index, либо для подменю открыть дополнительное div окно (как лучше сделать, я не знаю(((), и так как подменю будут добавляться и убираться, нужно сделать еще и какую-то подвязку или массив, чтобы при редактировании не лезть в код, а имено управлять массивом из административной части...
« Последнее редактирование: 10-12-2009 10:26 от Sel » Записан
Sla
Команда клуба

ua
Offline Offline
Пол: Мужской

WWW
« Ответ #23 : 10-12-2009 10:01 » 

asgard, я тебе твержу:
отдели данные от отображения.
Каким образом ты получишь свои реальные данные никого не интересует.
Твоя задача - добиться нужного отображения. А ты уже хочешь работать на реальных данных.

зы. срочно читать про z-index
Записан

Мы все учились понемногу... Чему-нибудь и как-нибудь.
asgard
Гость
« Ответ #24 : 10-12-2009 10:11 » 

asgard, я тебе твержу:
отдели данные от отображения.
Каким образом ты получишь свои реальные данные никого не интересует.
Твоя задача - добиться нужного отображения. А ты уже хочешь работать на реальных данных.

зы. срочно читать про z-index

Ну то что таким образом создать список можно, это понятно, далее...
« Последнее редактирование: 10-12-2009 10:13 от asgard » Записан
Falsehood
Молодой специалист

ru
Offline Offline
Пол: Женский
не может быть


« Ответ #25 : 10-12-2009 10:13 » 

а заодно, про display и onClick
Записан

Славная трава...
asgard
Гость
« Ответ #26 : 10-12-2009 10:18 » 

а заодно, про display и onClick
Каким образом можно редактировать список ссылок не редактируя код в ручную?
Записан
Sla
Команда клуба

ua
Offline Offline
Пол: Мужской

WWW
« Ответ #27 : 10-12-2009 10:21 » 

asgard, у тебя задача - "нарисовать" красивУю меню.
Что в этой МЕНЕ будет - никого не интересует. Смоделировать можно и на 20 пунктах и на 100, но принципы останутся.

для Sel. Уж извини Улыбаюсь
Записан

Мы все учились понемногу... Чему-нибудь и как-нибудь.
asgard
Гость
« Ответ #28 : 10-12-2009 10:25 » 

asgard, у тебя задача - "нарисовать" красивУю меню.
Что в этой МЕНЕ будет - никого не интересует. Смоделировать можно и на 20 пунктах и на 100, но принципы останутся.

для Sel. Уж извини Улыбаюсь
Понимаешь я не просто хочу создать красивую меню а еще это меню редактировать...
пример: сегодня в подменю должно быть 99 ссылок, завтра 101, послезавтра 33, при этом всем я не хочу постоянно лезть в код....
Записан
Falsehood
Молодой специалист

ru
Offline Offline
Пол: Женский
не может быть


« Ответ #29 : 10-12-2009 10:30 » 

asgard,

ты хочешь редактировать список ссылок не меняя код страницы, на которой будет твое замечательное меню? тогда подгружай этот список из базы данных, например.
но сейчас речь не об этом. сделай макет со списком, зашитым в код страницы. а когда макет заработает, заменишь статический список динамическим, применив PHP.
Записан

Славная трава...
asgard
Гость
« Ответ #30 : 10-12-2009 10:36 » 

asgard,

ты хочешь редактировать список ссылок не меняя код страницы, на которой будет твое замечательное меню? тогда подгружай этот список из базы данных, например.
но сейчас речь не об этом. сделай макет со списком, зашитым в код страницы. а когда макет заработает, заменишь статический список динамическим, применив PHP.
Ну понятно, я думал сделать это дело сразу, орентируясь на объекты в JS, лана, спасибо, буду разбираться.
« Последнее редактирование: 10-12-2009 10:52 от asgard » Записан
Sla
Команда клуба

ua
Offline Offline
Пол: Мужской

WWW
« Ответ #31 : 10-12-2009 10:42 » 

asgard, т.е. ты хотел формировать меню динамически с помощью js-скрипта?
Записан

Мы все учились понемногу... Чему-нибудь и как-нибудь.
asgard
Гость
« Ответ #32 : 10-12-2009 10:47 » 

asgard, т.е. ты хотел формировать меню динамически с помощью js-скрипта?
Типа того(
« Последнее редактирование: 10-12-2009 10:49 от Sel » Записан
Страниц: 1 2 [Все]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines