За последние 24 часа нас посетили 17480 программистов и 1719 роботов. Сейчас ищут 1512 программистов ...

javascript: "фокус" на слое..

Тема в разделе "JavaScript и AJAX", создана пользователем DarkElf, 25 дек 2006.

  1. DarkElf

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

    С нами с:
    22 окт 2006
    Сообщения:
    1.632
    Симпатии:
    0
    а для слоев есть аналог свойства focus полей формы?
     
  2. vasa_c

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

    С нами с:
    22 мар 2006
    Сообщения:
    1.760
    Симпатии:
    0
    Адрес:
    гор.Ленинград
    Что ты вообще подразумеваешь под слоем, имеющим фокус?
     
  3. DarkElf

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

    С нами с:
    22 окт 2006
    Сообщения:
    1.632
    Симпатии:
    0
    есть менюшка.
    в ней есть скрытые и видимые области, организовано посредством <div style='display="none"'> текст </div>

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

    хотелось бы его заставить остатся в месте клика.

    P.S. открытые до этого пункты не должны закрыватся.
     
  4. Anonymous

    Anonymous Guest

    Понял ничего ©
     
  5. DarkElf

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

    С нами с:
    22 окт 2006
    Сообщения:
    1.632
    Симпатии:
    0
    Горбунов Олег

    примерно html выглядит так:

    Код (Text):
    1. <script language="javascript" type="text/javascript">
    2. function ShowItemList(Cat_id){
    3.     if(document.getElementById(Cat_id).style.display == "none"){
    4.         document.getElementById(Cat_id).style.display == "";
    5.     }
    6.     else{
    7.         document.getElementById(Cat_id).style.display == "none";
    8.     };
    9. }
    10. </script>
    11. <a href='#' onclick='ShowItemList("category_1")'>category_1</a>
    12. <div id="category_1" style="display:none">
    13.     <a href='#' onclick='ShowItemList("category_1.1")'>category_1.1</a>
    14.     <div id="subcategory_1.1" style="display:none">
    15.         <div id="item_from_subcat_1.1">item 1.1.1</div>
    16.         ...
    17.         <div id="item_from_subcat_1.1">item 1.1.n</div>
    18.     </div>
    19.     ...
    20.     <a href='#' onclick='ShowItemList("category_1.n")'>category_1.2</a>
    21.     <div id="subcategory_1.2" style="display:none">
    22.         <div id="item_from_subcat_1.2">item 1.n.1</div>
    23.         ...
    24.         <div id="item_from_subcat_1.2">item 1.2.n</div>
    25.     </div>
    26. </div>
    27. ...
    28. <a href='#' onclick='ShowItemList("category_n")'>category_n</a>
    29. <div id="category_n" style="display:none">
    30.     <a href='#' onclick='ShowItemList("category_n.1")'>category_n.1</a>
    31.     <div id="subcategory_n.1" style="display:none">
    32.         <div id="item_from_subcat_n.1">item n.1.1</div>    
    33.         ...
    34.         <div id="item_from_subcat_n.1">item n.1.m</div>
    35.     </div>
    36.     ...
    37.     <a href='#' onclick='ShowItemList("category_n.k")'>category_1</a>
    38.     <div id="subcategory_n.k" style="display:none">
    39.         <div id="item_from_subcat_n.k">item n.k.1</div>    
    40.         ...
    41.         <div id="item_from_subcat_n.1">item n.k.t</div>
    42.     </div>
    43. </div>
    P.S. это воспроизведенный на память код, только чтобы показать структуру:)

    так вот, если открывать допустим последний элемент структуры при куче открытых верхних, то курсор оказывается наверху страницы, рядом с <div id="category_1">
    а мне бы надо, чтобы курсор был рядом с только что открытой категорией.
     
  6. Anonymous

    Anonymous Guest

    Что есть курсор?
     
  7. DarkElf

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

    С нами с:
    22 окт 2006
    Сообщения:
    1.632
    Симпатии:
    0
    Олег, проблема в том, что если открыта куча подкатегорий, то, при открытии новой, за пределами экрана, экран оказывается сверху страницы, а открывшаяся структура - за его нижним пределом...
     
  8. DarkElf

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

    С нами с:
    22 окт 2006
    Сообщения:
    1.632
    Симпатии:
    0
    а координаты брать из get_mouse_x и get_mouse_y

    т.е. изменить javascript на:

    Код (Text):
    1. <script language="javascript" type="text/javascript">
    2. function ShowItemList(Cat_id){
    3.    if(document.getElementById(Cat_id).style.display == "none"){
    4.       document.getElementById(Cat_id).style.display == "";
    5.       window.scrollTo(get_mouse_x(),get_mouse_y());
    6.    }
    7.    else{
    8.       document.getElementById(Cat_id).style.display == "none";
    9.    };
    10. }
    11. </script>
    ?
     
  9. simpson

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

    С нами с:
    11 фев 2006
    Сообщения:
    1.650
    Симпатии:
    0
    Адрес:
    Санкт-Петербург
    Код (Text):
    1. <a href="javascript:ShowItemList('category_n')">open/hide</a>
    ?
     
  10. DarkElf

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

    С нами с:
    22 окт 2006
    Сообщения:
    1.632
    Симпатии:
    0
    simpson

    да, именно так