文件清单
- navi.html
- navi.css
- navi.js
- jquery-1.6.2.js
navi.css
@CHARSET "UTF-8";
body{margin:0 auto;padding:0;font-size:12px;font-family:Arial '宋体'}
ul,li{list-style: none;display:inline-block;padding:0;margin:0;}
a{outline-style: none;}
.navi_main{width:100%;height:30px;margin:0 auto;padding:0;text-align:center;background-color:#D7D7D7;overflow:hidden;}
ul.navi_root_ul{width:80%;}
li.navi_root_li{width:70px; text-align: left;}
.navi_root_li a{width:70px;height:15px;font-weight:bolder;font-size:14px;padding:8px 0 7px;color:#333;text-decoration: none;display:block;}
.navi_root_li .a_hover{color:#ea3234;background-color:#D2D2D2;}
ul.navi_child_ul{width:140px;position: absolute;z-index: 999;overflow:hidden;background-color:#D7D7D7;padding:5px;}
li.navi_child_li{float:left;text-align:left;margin:1px 0;}
li.navi_child_li a{width:130px;height:15px;font-size:12px;padding:0px 5px;color:#333;float:left;text-align:left;text-decoration: none;display:block;}
.navi_child_li a:hover{color:#ea3234;background-color:#D2D2D2;}
.hide{display:none;}
navi.js
/**
*
* 处理导航下拉列表切换函数
* @author cxiaolng
* @version 1.0
* @time 2013-1-23 13:44:58
*
*/
/**
* 文档加载完成后执行函数
*/
$(function(){
navi_init();
});
/**
* 初始化导航
*/
navi_init = function(){
//初始化导航链接index
$('li.navi_root_li').hover(function(){
$(this).children('a.root_a').addClass('a_hover');
$(this).children('ul').slideDown(200);
}, function(){
$(this).children('a.root_a').removeClass('a_hover');
$(this).children('ul').slideUp(200);
});
}
navi.html
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link type="text/css" rel="stylesheet" href="css/navi.css"/>
<script type="text/javascript" src="js/jquery-1.6.2.js"></script>
<script type="text/javascript" src="js/navi.js"></script>
<title>The beautiful from navigation.</title>
</head>
<body>
<div class="navi_main">
<ul class="navi_root_ul">
<li class="navi_root_li">
<a class="root_a" href="#">导航一</a>
<ul class="navi_child_ul hide">
<li class="navi_child_li"><a class="child_a" href="#">一</a></li>
<li class="navi_child_li"><a class="child_a" href="#">二</a></li>
<li class="navi_child_li"><a class="child_a" href="#">三</a></li>
<li class="navi_child_li"><a class="child_a" href="#">四</a></li>
</ul>
</li>
<li class="navi_root_li">
<a class="root_a" href="#">导航二</a>
<ul class="navi_child_ul hide">
<li class="navi_child_li"><a class="child_a" href="#">一</a></li>
<li class="navi_child_li"><a class="child_a" href="#">二</a></li>
<li class="navi_child_li"><a class="child_a" href="#">三</a></li>
<li class="navi_child_li"><a class="child_a" href="#">四</a></li>
</ul>
</li>
<li class="navi_root_li">
<a class="root_a" href="#">导航三</a>
<ul class="navi_child_ul hide">
<li class="navi_child_li"><a class="child_a" href="#">一</a></li>
<li class="navi_child_li"><a class="child_a" href="#">二</a></li>
<li class="navi_child_li"><a class="child_a" href="#">三</a></li>
<li class="navi_child_li"><a class="child_a" href="#">四</a></li>
</ul>
</li>
<li class="navi_root_li">
<a class="root_a" href="#">导航四</a>
<ul class="navi_child_ul hide">
<li class="navi_child_li"><a class="child_a" href="#">一</a></li>
<li class="navi_child_li"><a class="child_a" href="#">二</a></li>
<li class="navi_child_li"><a class="child_a" href="#">三</a></li>
<li class="navi_child_li"><a class="child_a" href="#">四</a></li>
</ul>
</li>
<li class="navi_root_li">
<a class="root_a" href="#">导航五</a>
<ul class="navi_child_ul hide">
<li class="navi_child_li"><a class="child_a" href="#">一</a></li>
<li class="navi_child_li"><a class="child_a" href="#">二</a></li>
<li class="navi_child_li"><a class="child_a" href="#">三</a></li>
<li class="navi_child_li"><a class="child_a" href="#">四</a></li>
</ul>
</li>
</ul>
</div>
<div id="in"></div>
<div id="out"></div>
</body>
</html>
测试期间发现一个问题,当下拉列表出现后将鼠标光标快速移出,在列表没有完全收起前迅速进入,下拉列表会自动循环收起展开。在网上找到一个很好的文章(http://honkang.blog.163.com/blog/static/47795325201022531920788/)觉得写的不错。修改后的navi.js如下
/**
*
* 处理导航下拉列表切换函数
* @author cxiaolng
* @version 1.0
* @time 2013-1-23 13:44:58
*
*/
/**
* 文档加载完成后执行函数
*/
$(function(){
navi_init();
});
/**
* 初始化导航
*/
navi_init = function(){
//初始化导航链接index
/*$('li.navi_root_li').hover(function(){
$(this).children('a.root_a').addClass('a_hover');
$(this).children('ul').slideDown(200);
}, function(){
$(this).children('a.root_a').removeClass('a_hover');
$(this).children('ul').slideUp(200);
});*/
// 线程 IDs
var mouseover_tid = [];
var mouseout_tid = [];
$('li.navi_root_li').each(function(index){
$(this).hover(
// 鼠标进入
function(){
var _self = this;
// 停止卷起事件
clearTimeout(mouseout_tid[index]);
// 当鼠标进入超过 0.2 秒, 展开菜单, 并记录到线程 ID 中
mouseover_tid[index] = setTimeout(function() {
$(_self).children('ul:eq(0)').slideDown(200);
}, 400);
},
// 鼠标离开
function(){
var _self = this;
// 停止展开事件
clearTimeout(mouseover_tid[index]);
// 当鼠标离开超过 0.2 秒, 卷起菜单, 并记录到线程 ID 中
mouseout_tid[index] = setTimeout(function() {
$(_self).children('ul:eq(0)').slideUp(200);
}, 400);
}
);
});
}
分享到:
相关推荐
本主题聚焦于一种特定的设计风格——“蓝色和金咖啡色组合的横向二级导航栏”。这种设计融合了蓝色的稳重与金咖啡色的奢华,创造出既专业又典雅的视觉效果。 蓝色在网页设计中常被用来传达信任、专业和科技感,而金...
【JS横向二级导航菜单】是一种常见的网页交互设计,主要用于网站的顶部或侧边栏,提供主分类和子分类的层次结构,便于用户快速浏览和访问网站内容。在本项目中,我们将探讨如何利用JavaScript(JS)和CSS来实现这样...
本文将深入探讨如何使用JavaScript和CSS实现一个横向二级导航菜单,这是网站制作人员必须掌握的一项技能。 首先,我们从HTML结构开始。在`nav.html`文件中,你可能会看到一个包含一级导航项和二级导航项的`<ul>`...
"变色效果蓝色横向二级导航条代码"是一个专门设计的、具有动态变色效果的蓝色横向二级导航菜单,旨在提升用户体验并增加网站的视觉吸引力。 这个导航条的主要特点在于其颜色变化效果和二级菜单结构。在用户鼠标悬停...
本文将深入探讨如何使用JavaScript创建一个蓝色的横向二级导航菜单,该菜单在鼠标滑过时会展示slide滑动动画效果,以揭示二级菜单。我们将讨论实现这一功能的关键技术点、兼容性问题以及提供的js代码下载。 首先,...
"超漂亮的橘色横向二级导航"是一个专为网站设计的视觉效果出众、功能实用的导航方案。这个设计以鲜明的橘色为主色调,采用横向布局,通过鼠标悬停来触发二级导航的展示,既美观又便捷。 首先,我们来探讨一下横向...
通过以上步骤,我们可以创建一个简洁而有效的横向二级导航下拉菜单。使用jQuery不仅简化了代码,还使我们能够轻松实现复杂的交互效果。在实际项目中,可以根据需求进行调整,以达到最佳的用户体验。
【标题】:“经典蓝色横向二级导航栏”是一个网页设计元素,通常用于网站的顶部,以提供清晰、有组织的菜单结构,帮助用户快速访问不同页面。这种导航栏以蓝色为主色调,采用横向布局,通常包括主菜单项和下拉的子...
本文将详细介绍如何使用jQuery来创建一个具有横向二级导航菜单,并实现当前频道高亮的特效。 首先,我们需要理解jQuery的基本概念。jQuery是一个轻量级、高性能的JavaScript库,它简化了HTML文档遍历、事件处理、...
【jQuery蓝色圆角横向二级导航菜单代码】是一个用于创建具有美观设计和交互功能的网站导航栏的实现。这个代码利用了jQuery库的强大功能,结合HTML、CSS和JavaScript,为用户提供了一个直观且易于操作的二级菜单。...
本文将详细探讨“黑色横向二级导航Jquery特效”的实现原理、应用价值以及具体实现步骤。 首先,我们要理解什么是二级导航。一级导航通常是指网站顶部的主菜单,如“首页”、“产品”、“关于我们”等,而二级导航则...
在本示例中,我们将探讨如何使用JavaScript实现这种“鼠标滑过显示横向二级导航菜单”的功能。 首先,我们需要创建HTML结构来定义一级和二级导航菜单。一级菜单通常包含几个链接,每个链接下面都有一个对应的二级...
本教程将详述如何使用jQuery创建一个带有横向二级导航菜单的效果,以提升用户体验和网站的互动性。 首先,我们需要理解jQuery的基本概念。jQuery是一个轻量级的JavaScript库,简化了HTML文档遍历、事件处理、动画...
横向二级导航的基于css菜单,可以把最后的float改成none,形成二级横向的菜单。
本项目“jQuery滑动横向二级导航菜单”聚焦于创建一个动态且响应式的二级菜单,利用jQuery库的动画效果,提升用户体验。下面将详细阐述这个项目所涉及的核心知识点。 1. **jQuery库**:jQuery是一个广泛使用的...
本文将深入探讨一种超炫的JavaScript实现的横向二级导航菜单,该菜单采用了slide往下滑动的动画效果,增强了用户体验,同时也展示了JavaScript与jQuery库在动态交互设计中的强大功能。 首先,我们来理解这个“超炫...
"jQuery黑色横向二级导航"是一个基于jQuery实现的、具有黑色主题和水平展开的二级菜单导航。这个压缩包包含了一个实现这种功能的示例代码,适合于那些希望在网页中添加类似导航效果的开发者。 首先,我们来讨论...
【jQuery黑色横向二级导航】是一种常见的网页交互设计,主要用于网站的顶部菜单,提供清晰、直观的用户导航体验。在这个特定的实例中,我们看到的是一个使用JavaScript库jQuery实现的黑色主题的横向导航栏,它还包含...
标题中的“漂亮的蓝色横向二级导航菜单代码”表明这个压缩包包含了一个实现蓝色风格、横向布局且具有二级导航功能的网页菜单代码。这种菜单通常用于网站的头部,帮助用户快速访问不同级别的页面。在网页设计中,导航...
在网页设计中,横向二级导航是一种常见的用户界面元素,它被广泛应用于电商网站的商品分类,以便用户能够快速、直观地找到他们感兴趣的商品。这个“横向二级导航类似商品分类子菜单商品类别”的设计,通常用于展示...