За последние 24 часа нас посетили 16612 программистов и 1643 робота. Сейчас ищут 1212 программистов ...

Раскрывающийся список

Тема в разделе "JavaScript и AJAX", создана пользователем gooffy, 25 авг 2008.

  1. gooffy

    gooffy Активный пользователь

    С нами с:
    8 апр 2008
    Сообщения:
    42
    Симпатии:
    0
    В общем, нужно было сделать раскрывающийся список. Примерно как в проводнике.
    Насмотревшись на всякие жуткие примеры с классами
    Здесь: http://kek.ksu.ru/eos/tests/LList_fr.html
    и здесь: http://forum.dklab.ru/viewtopic.php?p=158792

    я решил написать свой вариант. Получилось вот что:
    Код (Text):
    1.  
    2. <html>
    3. <head>
    4. <title>MyPage</title>
    5. <script>
    6. function ShowHide(id)
    7. {
    8.     var param="dep"+id;
    9.     var head1=document.getElementById(param);
    10.  
    11.     param="open"+id;
    12.     var head2=document.getElementById(param);
    13.  
    14.     param="close"+id;
    15.     var head3=document.getElementById(param);
    16.  
    17.     if (head1.style.display == "")
    18.     {
    19.         head1.style.display = "none";
    20.         head2.style.display = "none";
    21.         head3.style.display = "";
    22.     }
    23.     else
    24.     {
    25.         head1.style.display = "";
    26.         head2.style.display = "";
    27.         head3.style.display = "none";
    28.     }
    29. }
    30.  
    31. </script>
    32. </head>
    33.  
    34. <body>
    35.  
    36.     <span ID="open1" style="display:none"><img src="http://img120.imageshack.us/img120/8401/openrf9.gif" border=0 onClick="ShowHide(1)");"></span>
    37.     <span ID="close1"><img src="http://img440.imageshack.us/img440/5411/closemq5.gif" border=0 onClick="ShowHide(1)");"></span>
    38.  
    39.     <a href="department.html" TARGET="main" onDblClick="ShowHide(1)");">security</a><br>
    40.     <span ID="dep1" style="display:none">
    41.     <a href="userprofile.php?id=1" TARGET="main">user1</a><br>
    42.     <a href="userprofile.php?id=2" TARGET="main">user2</a><br>
    43.     <a href="userprofile.php?id=3" TARGET="main">user3</a><br>
    44.     <a href="userprofile.php?id=8" TARGET="main">user8</a><br>
    45.     </span>
    46.  
    47.     <span ID="open2" style="display:none"><img src="http://img120.imageshack.us/img120/8401/openrf9.gif" border=0 onClick="ShowHide(2)");"></span>
    48.     <span ID="close2"><img src="http://img440.imageshack.us/img440/5411/closemq5.gif" border=0 onClick="ShowHide(2)");"></span>
    49.  
    50.     <a href="department.html" TARGET="main" onDblClick="ShowHide(2)");">managment</a><br>
    51.     <span ID="dep2" style="display:none">
    52.     <a href="userprofile.php?id=4" TARGET="main">user4</a><br>
    53.     <a href="userprofile.php?id=5" TARGET="main">user5</a><br>
    54.     </span>
    55.  
    56.     <span ID="open3" style="display:none"><img src="http://img120.imageshack.us/img120/8401/openrf9.gif" border=0 onClick="ShowHide(3)");"></span>
    57.     <span ID="close3"><img src="http://img440.imageshack.us/img440/5411/closemq5.gif" border=0 onClick="ShowHide(3)");"></span>
    58.  
    59.     <a href="department.html" TARGET="main" onDblClick="ShowHide(3)");">development</a><br>
    60.     <span ID="dep3" style="display:none">
    61.     <a href="userprofile.php?id=6" TARGET="main">user6</a><br>
    62.     <a href="userprofile.php?id=7" TARGET="main">user7</a><br>
    63.     </span>
    64.  
    65. </body>
    66. </html>
    Все элементы списка грузятся из БД. Это финальный вариант сгенерированной страницы. На иконки и отсутствие графики не смотрите, использовал первое, что подвернулось под руку. Предполагается, что при нажатии на любой элемент списка, вся информация грузится в соседнем фрэйме.

    Интересует, насколько "жизнеспособен" данный вариант и какие у него недочеты-недостатки.
     
  2. Anonymous

    Anonymous Guest

    абсолютно не жизнеспособен. Патамушта фреймы.
     
  3. gooffy

    gooffy Активный пользователь

    С нами с:
    8 апр 2008
    Сообщения:
    42
    Симпатии:
    0
    ну если не использовать фрэймы, чтобы не грузить все заново, надо использовать аякс. который я не знаю. поэтому фрэймы.
     
  4. Anonymous

    Anonymous Guest

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