Russian TYPO3 community

Russian TYPO3 community (http://forum.typo3.ru/index.php)
-   TypoScript практикум (http://forum.typo3.ru/forumdisplay.php?f=27)
-   -   Каждый пункт меню имеет свой class="#" (http://forum.typo3.ru/showthread.php?t=4829)

thebat 18.10.2007 21:44

Каждый пункт меню имеет свой class="#"
 
Делаю двухуровневое меню, а именно первый уровень горизонтальны, а второй выезжает, когда навожу курсором мыши на пункт меню первого уровня.

Вот то, что я уже написал:

Цитата:

lib.Top_Base_Menu = HMENU
lib.Top_Base_Menu.entryLevel = 1
lib.Top_Base_Menu {
1 = TMENU
1 {
wrap = <ul class="top_nav">|</ul>
expAll = 1
NO.wrapItemAndSub = <li class="item_li" onmouseover="document.getElementById('sub_1').styl e.display='block'" onmouseout="document.getElementById('sub_1').style .display='none'">|</li> || <li class="item_li" onmouseover="document.getElementById('sub_2').styl e.display='block'" onmouseout="document.getElementById('sub_2').style .display='none'">|</li> || <li class="item_li" onmouseover="document.getElementById('sub_3').styl e.display='block'" onmouseout="document.getElementById('sub_3').style .display='none'">|</li> || <li class="item_li" onmouseover="document.getElementById('sub_4').styl e.display='block'" onmouseout="document.getElementById('sub_4').style .display='none'">|</li>
NO.ATagParams = class="item"
ACT < .NO
ACT = 1
ACT.ATagParams = class="item"
}
2 = TMENU
2 {
wrap = <ul class="sub_ul" id="sub_1">|</ul> || <ul class="sub_ul" id="sub_2">|</ul> || <ul class="sub_ul" id="sub_3">|</ul> || <ul class="sub_ul" id="sub_4">|</ul>
expAll = 1
NO.allWrap = <li class="sub_li">|</li>
NO.ATagParams = class="sub"
}
}
С первым уровнем все нормально, там было нужно на каждый тег пункт меню <li></li> поставить разныe onmouseover="разный" <li class="item_li" onmouseover="разный">...

…,а вот со вторым уровнем не получается, но там ситуация чуть другая.

Во втором уровне… даже не знаю, как написать, … проще говоря, на каждый тэг <ul id="sub_1">|</ul> блока второго уровня надо поставить свой id="разный".

Прошу помощи у общества в решении этой задачи.

Заранее благодарю,

Tod 18.10.2007 22:34

На форуме была уже подобная тема. Посмотри по словам menu, class

thebat 18.10.2007 23:41

Цитата:

Сообщение от Tod (Сообщение 15379)
На форуме была уже подобная тема. Посмотри по словам menu, class

Спасибо, я их читал, но ничего подходящего не нашел … возможно и не понял то, что прочитал. Прошу общество разобрать именно мой пример.

Вы знаете, задал поиск по форуму "menu class" и система нашла именно эту "ТЕМУ" ...

Tod 19.10.2007 02:41

А это видел? - http://forum.typo3.biz/showthread.php?t=1810

thebat 19.10.2007 18:36

Цитата:

Сообщение от Tod (Сообщение 15384)

Спасибо, Тod, но что-то не то...:confused:

Пробовал решить задачу, используя ваш пример, но так и не вышло, может, поможете написать пример ….:) ?

Я решил свою задачу, но код вышел какой-то большой, и вообще можно ли так делать?

Цитата:

lib.Top_Base_Menu = HMENU
lib.Top_Base_Menu.entryLevel = 1
lib.Top_Base_Menu {
1 = TMENU
1.maxItems = 9
1 {
wrap = <ul class="top_nav">|</ul>
expAll = 1
NO.allWrap = <li class="item_li" onmouseover="document.getElementById('sub_1').styl e.display='block'" onmouseout="document.getElementById('sub_1').style .display='none'">|<ul class="sub_ul" id="sub_1"></li>||<li class="item_li" onmouseover="document.getElementById('sub_2').styl e.display='block'" onmouseout="document.getElementById('sub_2').style .display='none'">|<ul class="sub_ul" id="sub_2"></li>||<li class="item_li" onmouseover="document.getElementById('sub_3').styl e.display='block'" onmouseout="document.getElementById('sub_3').style .display='none'">|<ul class="sub_ul" id="sub_3"></li>||<li class="item_li" onmouseover="document.getElementById('sub_4').styl e.display='block'" onmouseout="document.getElementById('sub_4').style .display='none'">|<ul class="sub_ul" id="sub_4"></li>||<li class="item_li" onmouseover="document.getElementById('sub_5').styl e.display='block'" onmouseout="document.getElementById('sub_5').style .display='none'">|<ul class="sub_ul" id="sub_5"></li>||<li class="item_li" onmouseover="document.getElementById('sub_6').styl e.display='block'" onmouseout="document.getElementById('sub_6').style .display='none'">|<ul class="sub_ul" id="sub_6"></li>||<li class="item_li" onmouseover="document.getElementById('sub_7').styl e.display='block'" onmouseout="document.getElementById('sub_7').style .display='none'">|<ul class="sub_ul" id="sub_7"></li>||<li class="item_li" onmouseover="document.getElementById('sub_8').styl e.display='block'" onmouseout="document.getElementById('sub_8').style .display='none'">|<ul class="sub_ul" id="sub_8"></li>||<li class="item_li" onmouseover="document.getElementById('sub_9').styl e.display='block'" onmouseout="document.getElementById('sub_9').style .display='none'">|<ul class="sub_ul" id="sub_9"></li>||<li class="item_li" onmouseover="document.getElementById('sub_10').sty le.display='block'" onmouseout="document.getElementById('sub_10').styl e.display='none'">|<ul class="sub_ul" id="sub_10"></li>||<li class="item_li" onmouseover="document.getElementById('sub_11').sty le.display='block'" onmouseout="document.getElementById('sub_11').styl e.display='none'">|<ul class="sub_ul" id="sub_10"></li>||<li class="item_li" onmouseover="document.getElementById('sub_12').sty le.display='block'" onmouseout="document.getElementById('sub_12').styl e.display='none'">|<ul class="sub_ul" id="sub_12"></li>||
NO.ATagParams = class="item"
ACT < .NO
ACT = 1
ACT.ATagParams = class="item"
}
2 = TMENU
2 {
wrap = |</ul>
NO.allWrap = <li class="sub_li">|</li>
NO.ATagParams = class="sub"
}
}
Главное, работает!

Но мне почему-то не нравится, помогите написать другое решение с меньшим объемом кода.


Часовой пояс GMT +4, время: 21:12.

Работает на vBulletin® версия 3.8.1.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot