<script type="text/javascript"> var timeout = 500;//定义参数timeout,单位:毫秒 var closetimer = 0;//定义参数closetimer var ddmenuitem = 0;//定义参数ddmenuitem function jsddm_open() {//定义函数jsddm_open() jsddm_canceltimer();//执行函数jsddm_canceltimer() jsddm_close();//执行函数jsddm_close() ddmenuitem = $(this).find(‘ul‘).eq(0).css(‘visibility‘, ‘visible‘);//找到当前元素下第一个ul,其visibility属性为visible,并赋值给参数ddmenuitem } function jsddm_close() {//定义函数jsddm_close() if(ddmenuitem) ddmenuitem.css(‘visibility‘, ‘hidden‘);//判断ddmenuitem是否为真,即判断当前元素下第一个ul的visibility属性是否为visible,如果是,这将其visibility属性改变为hidden } function jsddm_timer() {//定义函数jsddm_timer() closetimer = window.setTimeout(jsddm_close, timeout);//延迟执行函数jsddm_close(),延迟的时间为timeout(即500ms),并赋值给参数closetimer } function jsddm_canceltimer() {//定义函数jsddm_canceltimer() if(closetimer)//判断closetimer是否为真,即判断函数jsddm_close()是否延迟执行 { window.clearTimeout(closetimer);//清除延迟执行 closetimer = null;//给closetimer赋值为空 } } $(document).ready(function() {//页面加载完成时执行以下操作 $(‘#jsddm > li‘).bind(‘mouseover‘, jsddm_open);//为id为jsddm的元素下所有li标签绑定mouseover事件,该事件执行jsddm_open()函数 $(‘#jsddm > li‘).bind(‘mouseout‘, jsddm_timer);//为id为jsddm的元素下所有li标签绑定mouseout事件,jsddm_timer()函数 }); document.onclick = jsddm_close;//点击页面任意空白区域(无点击事件的区域),执行函数jsddm_close() </script>
原文:http://www.cnblogs.com/weiqian/p/3580729.html