Я видел много статей на эту тему, но ни одна из них не касается jQuery, так что здесь я ... Я реализую версию скрипта из http://javascript -array.com / scripts / jquery_simple_drop_down_menu / в существующее приложение; однако я не могу заставить его работать без добавления оповещения ('msg ...') в качестве первого метода в вызове $ (document) .ready ().
Кажется, это не имеет никакого отношения ко времени загрузки ... независимо от того, как долго я жду, меню не работает. setTimeout () тоже не работает. Однако добавьте alert (), и он работает как шарм. Я также могу правильно выполнить привязки через Firebug.
var timeout = 500;
var closetimer = 0;
var ddmenuitem = 0;
function jsddm_open()
{ jsddm_canceltimer();
jsddm_close();
ddmenuitem = $(this).find('ul').css('visibility', 'visible');}
function jsddm_close()
{ if(ddmenuitem) ddmenuitem.css('visibility', 'hidden');}
function jsddm_timer()
{ closetimer = window.setTimeout(jsddm_close, timeout);}
function jsddm_canceltimer()
{ if(closetimer)
{ window.clearTimeout(closetimer);
closetimer = null;}}
$(document).ready(function()
{ $('#jsddm > li').bind('mouseover', jsddm_open)
$('#jsddm > li').bind('mouseout', jsddm_timer)});
document.onclick = jsddm_close;