2013-03-08 2 views
0

Я модифицирую шаблон Magento и хочу иметь задержку 1-2 с для запуска 2 строки: popup.style.display = 'none'; $ (menuId) .removeClassName ('active');Задержка для запуска кода (прототип)

Я не понимаю JavaScript вообще, как я могу это сделать, благодаря

function wppHideMenuPopup(element, event, popupId, menuId) 
{ 
    element = $(element.id); var popup = $(popupId); if (!popup) return; 
    var current_mouse_target = null; 
    if (event.toElement) 
    { 
     current_mouse_target = event.toElement; 
    } 
    else if (event.relatedTarget) 
    { 
     current_mouse_target = event.relatedTarget; 
    } 
    if (!wppIsChildOf(element, current_mouse_target) && element != current_mouse_target) 
    { 
     if (!wppIsChildOf(popup, current_mouse_target) && popup != current_mouse_target) 
     { 
      popup.style.display = 'none'; 
      $(menuId).removeClassName('active'); 
     } 
    } 
} 

ответ

0

использование Window.setInterval ("JavaScript функция", миллисекунды);

Использование> window.setInterval ("hidethething()", 2000);

Просто поместите это (и замените с помощью правильной функции), где бы вы ни начали отсчет 2 секунд.

Спасибо, @leo

+0

Спасибо Лео, это правильно? window.setinterval (function() {popup.style.display = 'none'; $ (menuId) .removeClassName ('actiwe');}, 2000); – user1579524

+0

setInverval отлично, но это сложно. Вам нужно поместить имя функции внутри кавычек, так что это в основном строка, и вы не сможете ставить переменные. То, что я обычно делаю, это создать еще одну функцию без параметров и оттуда сделать магию. – lemil77

+0

Спасибо leo, я, наконец, использую setTimeout и получаю отличный результат, setTimeout (function() {popup.style.display = 'none'; $ (menuId) .removeClassName ('actiwe');}, 10); – user1579524

Смежные вопросы