简单的三种Jquery下拉菜单 (2)
八月 11th, 2010 by jxwinter, under Javascript.
鼠标划过显示菜单, 离开隐藏菜单, 没有能比这个跟简单的了.
jQuery(document).ready(function(){
// 找到所有菜单, 并添加显示和隐藏菜单事件
jQuery('#menus > li').each(function(){
jQuery(this).hover(
// 显示菜单
function(){
jQuery(this).find('ul:eq(0)').show();
},
// 隐藏菜单
function(){
jQuery(this).find('ul:eq(0)').hide();
});
});
});
————————————————————————————————————————
淡出淡入导航菜单,需要注意的是,这里需要加入延迟处理!
// 线程 IDs
var mouseover_tid = [];
var mouseout_tid = [];
jQuery(document).ready(function(){
jQuery('#menus > li').each(function(index){
jQuery(this).hover(
// 取消淡出菜单的线程, 延时淡入菜单
function(){
var _self = this;
clearTimeout(mouseout_tid[index]);
mouseover_tid[index] = setTimeout(function() {
jQuery(_self).find('ul:eq(0)').fadeIn(200);
}, 400);
},
// 取消淡入菜单的线程, 延时淡出菜单
function(){
var _self = this;
clearTimeout(mouseover_tid[index]);
mouseout_tid[index] = setTimeout(function() {
jQuery(_self).find('ul:eq(0)').fadeOut(200);
}, 400);
});
});
});
——————————————————————————————————————-
鼠标悬停显示滚动展开菜单, 离开滚动卷起菜单. 需要加上延迟处理, 原因同淡出淡入导航菜单的处理.
// 线程 IDs
var mouseover_tid = [];
var mouseout_tid = [];
jQuery(document).ready(function(){
jQuery('#menus > li').each(function(index){
jQuery(this).hover(
// 取消卷起菜单的线程, 延时展开菜单
function(){
var _self = this;
clearTimeout(mouseout_tid[index]);
mouseover_tid[index] = setTimeout(function() {
jQuery(_self).find('ul:eq(0)').slideDown(200);
}, 400);
},
// 取消展开菜单的线程, 延时卷起菜单
function(){
var _self = this;
clearTimeout(mouseover_tid[index]);
mouseout_tid[index] = setTimeout(function() {
jQuery(_self).find('ul:eq(0)').slideUp(200);
}, 400);
}
);
});
});
Tagged with Jquery.
顶一下,欢迎回访并加友链。
顶起