Останні пару днів я колупаю інет в пошуках підходящого скрипта mega menu. Знайшов багато різних варіантів, але все ще перебуваю в роздумах про те, який з них застосувати до цього сайту ...
Однак, по ходу справи відкрив для себе купу корисних jQuery-плагінів. Наприклад, для списку, для заміни <select> 'a (ну типу «скін» для звичайного combo-box'a).
Найкраще, що я знайшов - SelectMenu від Фелікса Нагеля: http://www.felixnagel.com/blog/artikel/2011/10/09/jquery-ui-selectmenu-reloaded/ . Краще напевно не буває. Там є все, включаючи реагування на клавіатуру, фокусування введення, різні нестандартні варіанти списків, іконки в списку, багаторядкові списки, і ще купа всього. (Єдине, не знаю, чи може той список показувати додаткову інформацію, як вибіралка міста при замовленні тачки на сайті Sixt . За ісходнику бачу що це теж якийсь jQuery-плагін, але можливо заточений дизайнерами сайту Sixt індивідуально.)
Так, так от, незважаючи на те що краще SelectMenu в світі - від Фелікса (як він сам написав, з ним зв'язався автор jQuery, Jörn, і запропонував включити SelectMenu в стандартний пакет візуальних плагінів jQuery), - але мені потрібно було щось простіше. Бажано зовсім маленьке і просте. Знайшовся плагін MyDropdown, від якогось чувасіка на ім'я Пол Чан з Гонконгу: http://www.kfsoft.info/MyDropdown/demo.php . Це була дико глюкавий скрипт, але дещо вдалося в ньому поправити (правда, в QuirkMode IE (ну типу, якщо DOCTYPE = HTML) воно все одно не запрацював).
Для більшості простих речей підійде. Уже прикручено на цьому сайті в розділі «результатів голосування», для вибору року з рейтингами, по будь-якій номінації конкурсу. Наприклад, на http://www.favor.com.ua/vote/services/national-mobile-communications-operator/?results=2011 .
Коротше, лінь описувати що ця цей скрипт робить, простіше поглянути на приклад:
Стандартний список: Список з плагіном:
або на скріншот:
А сам модифікований мною скріптец можна скачати з вкладення до цього запису .
До речі, про моєму виборі MegaMenu розкажу ще кілька днів тому. Там могла б бути звичайна CSS-based менюха, без всяких JavaScript'ов, але потрібно таки буде зробити напівсекундного затримку перед випаданням меню, при наведенні мишкою на пункт. Затримка потрібна, тому що випадкове випадання списку при переміщенні курсору над меню буде дратувати користувача.
Ua/vote/services/national-mobile-communications-operator/?