Автор Тема: Клёвая менюшка на основе DL  (Прочитано 2444 раз)

0 Пользователей и 1 Гость смотрят эту тему.

Оффлайн biohazard

  • Кодер
  • 4 уровень
  • ***
  • Сообщений: 308
  • карма: +7/-2
  • work hard - go pro
    • Просмотр профиля
Клёвая менюшка на основе DL
« : 18 Ноября 2008, 14:02:21 »
Есть оказывается такая интерестная группа тегов: <DL>, <DT>, <DD>, предназначенных для создания списка определений. Каждый такой список начинается с контейнера  <DL>, куда входит тег <DT> создающий термин и тег <DD> задающий определение этого термина.(это по материалам htmlbook.ru, где я и наткнулся на описание этоих тегов).

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

Но, почему то эти теги обделили вниманием, как мне кажется. Ибо я знаю хтмл уже оч. давно, а с этими тегами столкнулся только что.

Вот так можно сделать симпатичное, раскрывающееся меню:

<script type="text/javascript">
    function UnHide(This){
        if(This.className == 'unhidemenu')
        {
            This.className = 'hidemenu'
        }
        else
        {
            This.className = 'unhidemenu'
        }
        return false;
    }
   
    function $(id){
        return document.getElementById(id);
    }
</script>

<style type="text/css">
.hidemenu {border: 1px solid black; display: none;}
.unhidemenu {border: 1px solid black; display: block;} 
</style>

<dl> 
    <dt onclick="UnHide($('c1'))">Menu1</dt>
    <dd class="hidemenu" id="c1">
        <dl> 
            <dt onclick="UnHide($('c11'))">Menu11</dt>
            <dd class="hidemenu" id="c11">
                Menu11 text
            </dd>
             
            <dt onclick="UnHide($('c12'))">Menu12</dt> 
            <dd class="hidemenu" id="c12">
                Menu12 text
            </dd> 
        </dl>
    </dd>
     
    <dt onclick="UnHide($('c2'))">Menu2</dt> 
    <dd class="hidemenu" id="c2">
        Menu2 text
    </dd> 
</dl>

Кому-нибудь пригодится?
Always code as if the person who ends up maintaining your code is a violent psychopath who knows where you live.

Оффлайн Rex

  • Administrator
  • 7 уровень
  • *****
  • Сообщений: 1811
  • карма: +15/-0
  • Странник
    • Просмотр профиля
    • ВКГУ им. С. Аманжолова
Re: Клёвая менюшка на основе DL
« Ответ #1 : 18 Ноября 2008, 14:44:01 »
Хыхы, с тегами знаком давно, а вот чтобы их яро так использовали - тут biohazard прав, соглашусь с ним.
Хотя данные теги считаю немного ограниченными, поскольку им есть что предоставить - тег ul. Данный тег имеет больше атрибутов (это и сложнее и легче, смотря с какой стороны посмотреть).

biohazard, спасибо за пример, думаю тут каждый найдет для себя что-то интересное =)

Оффлайн biohazard

  • Кодер
  • 4 уровень
  • ***
  • Сообщений: 308
  • карма: +7/-2
  • work hard - go pro
    • Просмотр профиля
Re: Клёвая менюшка на основе DL
« Ответ #2 : 18 Ноября 2008, 15:21:45 »
Синтаксис UL и DL немного разный.

Если у UL
<ul>
   <li>some</li>
   <li>some</li>
   <li>
      <ul>
         <li>some</li>
         <li>some</li>
      </ul>
   </li>
</ul>

то у DL:
<dl>
   <dt>caption</dt>
   <dd>value</dd>

   <dt>caption</dt>
   <dd>
      <dl>
         <dt>caption</dt>
         <dd>value</dd>

         <dt>caption</dt>
         <dd>value</dd>
      </dl>
   </dd>
</dl>

Как мне кажется это несколько расширенная версия UL =)
А атрибуты это не главное, данные конструкции легко CSSсятся
Always code as if the person who ends up maintaining your code is a violent psychopath who knows where you live.

Оффлайн DARX

  • Global Moderator
  • 7 уровень
  • *****
  • Сообщений: 1559
  • карма: +23/-5
  • Knowledge is Power
    • Просмотр профиля
    • Web-программист
Re: Клёвая менюшка на основе DL
« Ответ #3 : 18 Ноября 2008, 20:57:17 »
Ну так уж покажите реальный пример ;)
Еще ни разу не встречал меню (по крайней мере, на js) с использованием этих тегов...

Оффлайн Rex

  • Administrator
  • 7 уровень
  • *****
  • Сообщений: 1811
  • карма: +15/-0
  • Странник
    • Просмотр профиля
    • ВКГУ им. С. Аманжолова
Re: Клёвая менюшка на основе DL
« Ответ #4 : 19 Ноября 2008, 09:55:59 »
Цитировать
Синтаксис UL и DL немного разный.
не я знаю, но считаю о "первенстве" данных тэгов несколько наоборот :))
Ну так уж покажите реальный пример ;)
Еще ни разу не встречал меню (по крайней мере, на js) с использованием этих тегов...
Эмм.. Они по сути будут аналогичны примерам с ul.

Оффлайн DARX

  • Global Moderator
  • 7 уровень
  • *****
  • Сообщений: 1559
  • карма: +23/-5
  • Knowledge is Power
    • Просмотр профиля
    • Web-программист
Re: Клёвая менюшка на основе DL
« Ответ #5 : 19 Ноября 2008, 19:52:42 »
Цитировать
Эмм.. Они по сути будут аналогичны примерам с ul.

Покажите пример, где в коде вместо UL я увижу DL, вот и все :)

Оффлайн biohazard

  • Кодер
  • 4 уровень
  • ***
  • Сообщений: 308
  • карма: +7/-2
  • work hard - go pro
    • Просмотр профиля
Re: Клёвая менюшка на основе DL
« Ответ #6 : 25 Ноября 2008, 09:59:37 »
Покажите пример, где в коде вместо UL я увижу DL, вот и все :)
Дармен, посмотри первый пост в этой теме =)
Always code as if the person who ends up maintaining your code is a violent psychopath who knows where you live.

Оффлайн Rex

  • Administrator
  • 7 уровень
  • *****
  • Сообщений: 1811
  • карма: +15/-0
  • Странник
    • Просмотр профиля
    • ВКГУ им. С. Аманжолова
Re: Клёвая менюшка на основе DL
« Ответ #7 : 25 Ноября 2008, 10:25:11 »
Покажите пример, где в коде вместо UL я увижу DL, вот и все :)
Дармен, посмотри первый пост в этой теме =)
;D отмазались:))))