Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   event + setTimeout (https://javascript.ru/forum/events/27964-event-settimeout.html)

fsingle 01.05.2012 18:48

event + setTimeout
 
Здравствуйте форумчане...)У меня возникла просьба..не могли бы вы объяснить момент включения settimeout ..
я понял принцип onclick, чтоб выпадало меню...ну вот он выпал,но теперь чтоб закрыть его надо заново кликать...а хотелось бы чтоб спустя некоторое время оно само закрылось...)код прилагаю...)надеюсь поможете...а то весь интернет перерыл так и не понял принцип его включения, и куда именно его нужно поставить...
<script type="text/javascript">

  function Sub(event){                             // вызов меню кликом
  event = event || window.event
  event.stopPropagation ? event.stopPropagation() : (event.cancelBubble=true)
    var sub_m=document.getElementById('sub_menu_m');
    var sub_v=document.getElementById('sub_menu_v');
    sub_m.style.display = (sub_m.style.display == "none") ? "block" : "none";
    sub_v.style.display = (sub_v.style.display == "none") ? "block" : "none";
}
      document.getElementById('sub_menu_h').onclick=Sub;
      function Sub2(event){                         // смена цвета при  наведение на эти div
  event = event || window.event
  event.stopPropagation ? event.stopPropagation() : (event.cancelBubble=true)
    var sub_m=document.getElementById('sub_menu_m');
    var sub_v=document.getElementById('sub_menu_v');   
    this.style.background='#FFCC33';
    }
      document.getElementById("sub_menu_m").onmouseover=Sub2;
      document.getElementById("sub_menu_v").onmouseover=Sub2;
  function Sub3(event){                               // возвращения их в первоначальный вид.
  event = event || window.event
  event.stopPropagation ? event.stopPropagation() : (event.cancelBubble=true)
    var sub_m=document.getElementById('sub_menu_m');
    var sub_v=document.getElementById('sub_menu_v');
   this.style.background="";
    }
      document.getElementById("sub_menu_m").onmouseout=Sub3;
      document.getElementById("sub_menu_v").onmouseout=Sub3;
      
</script>

cyber 02.05.2012 00:46

function Sub(event){                             // вызов меню кликом
  event = event || window.event
  event.stopPropagation ? event.stopPropagation() : (event.cancelBubble=true)
    var sub_m=document.getElementById('sub_menu_m');
    var sub_v=document.getElementById('sub_menu_v');
    sub_m.style.display = (sub_m.style.display == "none") ? "block" : "none";
    sub_v.style.display = (sub_v.style.display == "none") ? "block" : "none";
setTimeout("Sub3(event);",15000)//вызовет через 15 секунд функцию закрытия
}

bes 02.05.2012 09:07

Цитата:

Сообщение от fsingle
не могли бы вы объяснить момент включения settimeout

setTimeout(выражение, время) в момент её вызова выполнит указанное выражение или функцию через указанное время.


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