本文实例讲述了jQuery焦点控制图层展示延迟隐藏的方法。分享给大家供大家参考。具体实现方法如下:
复制代码 代码如下:
<!doctype html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8">
</head>
<body>
<b id="button">点我</b>
<div id="div" style="background:#faf;outline:none;display:none">我是内容</div>
<script type="text/javascript" src="jquery.js"></script>
<script>
$(document).ready(function(){
jQuery.focusShow({butID:"#button",divID:"#div",mouse:"over",time:"500"})
})
jQuery.extend({
focusShow: function(config){
//ps:焦点控制图层展示,延迟隐藏
//focusShow({butID:"按钮ID",divID:"容器ID",mouse:"over || click",time:"时间"})
var butID = $(config.butID || false),
divID = $(config.divID || false),
mouse = config.mouse || "click",
time = config.time || "500",
timer;
function re(){$(divID).hide()}
switch (mouse){
case "click":
butID.bind({"click":function(){divID.attr("tabindex","-1");divID.focus()}});
divID.bind({
"focus":function(){clearTimeout(timer);divID.show()},
"blur":function(){timer = setTimeout(re,time)}
})
break
case "over":
$(butID,divID).each(function(){
$(this).bind({
"mouseover":function(){clearTimeout(timer);divID.show()},
"mouseout":function(){timer = setTimeout(re,time)}
})
})
break
default:
}
}
});
</script>
</body>
</html>
希望本文所述对大家的jQuery程序设计有所帮助。