PDA

Просмотр полной версии : Стационарный GMENU_LAYERS/TMENU_LAYERS


Fearless Goblin
16.07.2007, 23:15
Не успел закончиться день, как появилась ещё одна проблема. На сей раз с лэйерзами.
Вопрос вот в чём: как заставить подменю любого пункта меню появляться в одном и том же месте экрана? То есть, например, я хочу, чтобы меню второго уровня появилось в точке 200,300 не зависимо от того, навёл я стрелку на первый или второй пункт меню первого уровня.
Пробовал разные комбинации lockPosition, xPosOffset, yPosOffset, topOffset, leftOffset, но ничего не помогло.
Например, при такой конфигурации:
temp.topMenu.1 {
leftOffset = 300
yPosOffset = 20
lockPosition = x
}
подменю любого пункта меню первого уровня появляется в одном и том же месте, но оно начинает двигаться за мышью, что есть плохо.
Буду признателен ответившим.

void
17.07.2007, 01:49
Я бы рекомендовал не пользоваться xMENU_LAYERS. Это плохой, старый код. Существует множество меню, которые позволяют их использовать как обычные TMENU/GMENU в тайпе, без дополнительных ухищрений в виде LAYERS.
Я лично видел много задающих вопросы о LAYERS, но практически не видел ответов на них, и это, на мой взгляд, не случайно.

Fearless Goblin
17.07.2007, 02:28
Я вот тоже это заметил...
Тогда не можете ли подсказать, как при наличии стандартных инструментов сделать так, чтобы при наведении на пункт меню менялось содержимое подменю?

void
17.07.2007, 05:02
Простой способ: грузить все меню второго уровня, однако ставить оборачивающему тэгу каждого меню display:none.
Во врапе меню первого уровня указать событие onmouseover. Далее - дело знания JS.

Сложный способ: грузить меню только n-ного уровня. Затем по onmouseover опрашивать некую страницу для генерации меню типа
menupage = PAGE
menupage.typeNum = 222
menupage.config.disableAllHeaderCode = 1
menupage.10 = HMENU
и забирать её содержимое через AJAX, затем вставлять в нужное место с помощью JS.

В любом случае, это дело скорее программирования на JS, чем вопрос генерации тайпой HTML.

Fearless Goblin
17.07.2007, 14:22
Большое спасибо! Будм расширять свои знания JS. :)