Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Почему требуется двойное нажатие мыши с начала, а потом открывается с одного щелчка? (https://javascript.ru/forum/dom-window/3414-pochemu-trebuetsya-dvojjnoe-nazhatie-myshi-s-nachala-potom-otkryvaetsya-s-odnogo-shhelchka.html)

goshikvia 16.04.2009 18:27

Почему требуется двойное нажатие мыши с начала, а потом открывается с одного щелчка?
 
Почему необходимо сперва нажать два раза на ссылку "ТЕКСТ 1" чтобы открылся блог SUBMENU1, а потом достаточно только одного нажатия? Как убрать такой дефект?
И кстати, может мой вариант кода не оптимален, тогда предложите свой и поясните почему.

<head>
  <style type="text/css">
  <!--
     #submenu1,#submenu2,#submenu3 {
        display: none;
      }
  -->
  </style>

  <script type="text/javascript" src="scripts/base.debug.js"></script>
  <script type="text/javascript">
     function sh(x) {
       document.getElementById(x).style.display = document.getElementById(x).style.display == 'none' ? 'block' : 'none';
     };
  </script>
</head>

<body>
<a class="bm1" href="javascript:sh('submenu1')">Текст 1</a>
   <div id="submenu1">
      <a class="bm2" href="">Текст 1.1.</a>
      <a class="bm2" href="">Текст 1.2.</a>
      <a class="bm2" href="">Текст 1.3.</a>
   </div>

<a class="bm1" href="javascript:sh('submenu2')">Текст 2</a>
   <div id="submenu2">
      <a class="bm2" href="">Текст 2.1.</a>
      <a class="bm2" href="">Текст 2.2.</a>
   </div>

<a class="bm1" href="javascript:sh('submenu3')">Текст 3</a>
   <div id="submenu3">
      <a class="bm2" href="">Текст 3.1.</a>
      <a class="bm2" href="">Текст 3.2.</a>
      <a class="bm2" href="">Текст 3.3.</a>
   </div>

</body>

Kolyaj 16.04.2009 18:29

Потому что style.display не равно none после загрузки страницы.

goshikvia 16.04.2009 18:34

Цитата:

Сообщение от Kolyaj (Сообщение 16813)
Потому что style.display не равно none после загрузки страницы.

Спасибо, поправил :)

x-yuri 17.04.2009 01:57

http://javascript.ru/unsorted/why_href_js_is_bad


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