jQuery渐变发光导航菜单的实例代码
发布时间:2024-04-09 19:47:36
下面和大家分享一下具体的实现过程。
HTML标签结构:
<ul class="animation_menu">
<li class="current">
<a href="#">菜单一<span>菜单一</span></a>
</li>
<li>
<a href="#">菜单二<span>菜单二</span></a>
</li>
<li>
<a href="#">菜单三<span>菜单三</span></a>
</li>
<li>
<a href="#">菜单四<span>菜单四</span></a>
</li>
</ul>
CSS样式:
li的样式:
.animation_menu li{
/*块状模式显示,并使其水平平铺显示*/
display:block;
float: left;
/*宽高是背景图片的*/
width: 111px;
height: 50px;
/*设置文字垂直水平居中*/
line-height: 50px;
text-align: center;
font-weight: bold;
font-size: 18px;
list-style-type:none;
}
初始看到的a的样式:
.animation_menu li a {
/*这里是我们背景图片*/
background-image: url("images/bg-sprite-topmenu.png");
background-repeat: no-repeat;
/*设置position属性是为了里面的span能够以a为基准进行定位*/
position: relative;
display: block;
/*我们不使用纯黑色*/
color: #292724;
text-decoration:none;
}
hover后看到的span的样式:
.animation_menu li a span {
/*这里是我们背景图片*/
background-image: url("images/bg-sprite-topmenu.png");
background-repeat: no-repeat;
/*设置块模式显示,并制定宽高和a的宽高一样,和绝对位置,这是为了使其和a里面的文字重合显示*/
display: block;
height: 50px;
width: 111px;
text-align: center;
position: absolute;
top: 0;
left: 0;
color:#FFE2BB;
}
用sprite技术定位,a和span各种状态的样式:
/*正常状态下的样式*/
.animation_menu li a {
/*一般灰色背景*/
background-position: 0 -153px;
}
/*hover蓝色高亮背景*/
.animation_menu li a span {
background-position: 0 -102px;
}
/*链接激活状态下的样式*/
.animation_menu li.current a {
/*一般灰色高亮背景*/
background-position: 0 0;
}
/*hover黄色高亮背景*/
.animation_menu li.current a span {
background-position: 0 -51px;
}
css的工作到此就结束了,下面我们来看看javascript。
最后是JavaScript
菜单的渐变效果主要是通过控制opacity实现的,请看下面代码。
// 通过将opacity设置为0,将span的样式和文字隐藏起来
$(".animation_menu li a span").css("opacity", "0");
// 绑定hover事件
$(".animation_menu li a span").hover(
//mouse on事件
function () {
// 通过动态的改变opacity从0到1,这样span的样式和文字就会慢慢的显示出来,覆盖a的样式
$(this).stop().animate({
opacity: 1
}, "slow");
},
//mouse out事件
function () {
// 当鼠标移走的时候,动态改变为0,这样span又看不见了,看到原来的a的样式了。
$(this).stop().animate({
opacity: 0
}, "slow");
}
);
//绑定click事件,点击当前连接,为li添加current class,同时移除其他li的current class
$(".animation_menu li a").click(function () {
$(".animation_menu li a").each(function (index, item) {
$(item).parent().removeClass("current");
});
$(this).parent().addClass("current");
});
到此全部结束,希望这个jQuery导航菜单能够给你一些灵感。


猜你喜欢
- 一、概述Python Flask是一个轻量级的Web应用程序框架,它是使用Python编写的,用于快速开发Web应用程序和API。它的设计理
- 1 类继承Python 是面向对象的编程语言,因此支持面向对象的三大特性之一:继承。继承是代码重用的一种途径,Python 中的继承就像现实
- 本文实例讲述了Python简单格式化时间的方法,分享给大家供大家参考,具体如下:walker经常用到当前时间和相对时间,用来统计程序执行的效
- 使用 CAST 函数将 STRING 转为 BIGINT:SELECT CAST('00321' AS BIGINT) FR
- 本文介绍在Python环境中,实现随机森林(Random Forest,RF)回归与各自变量重要性分析与排序的过程。其中,关于基于MATLA
- 本文实例讲述了Python实现的knn算法。分享给大家供大家参考,具体如下:代码参考机器学习实战那本书:机器学习实战 (Peter Harr
- 之前都是直接拿sax,或dom等库去解析xml文件为Python的数据类型再去操作,比较繁琐,如今在写Django网站ajax操作时json
- 如果你只使用一个更新日志,你只须清空日志文件,然后移走旧的更新日志文件到一个备份中,然后启用新的更新日志。用下列方法可以强制服务器启用新的更
- 使用JavaScript写的一个旋转的彩圈效果图<!DOCTYPE html><html><head>&
- 使用一个遵循buffer protocol的对象就可以和numpy交互了.这个buffer_protocol要有哪些东西呢? 要有如下接口:
- 最近工作中写了几个存储过程,需要向存储过程中传递字符串,因为SQL Server 2000中没有内置类似于 split 的函数,只好自己处理
- 本文实例为大家分享了js随机点名器的具体代码,供大家参考,具体内容如下<html lang="zh"><
- osql 工具是一个 Microsoft Windows 32 命令提示符工具,您可以使用它运行 Transact-SQL 语句和脚本文件。
- 在c语言中可以用system函数调用系统命令并得到输出,通过输出重定向也可以将程序执行的输出保存到文件以供使用,但用起来不是很方便。我这里介
- 1.弹启一个全屏窗口 <html> <body onload="win
- vue-cli 中可以通过配置 proxyTable 解决开发环境的跨域问题,具体可以参考这篇文章:Vue-cli proxyTable 解
- numpy模块下的median作用为: 计算沿指定轴的中位数返回数组元素的中位数其函数接口为:median(a, axis=None, ou
- 当一个 .txt 文件的数据过于庞大,此时想要对数据进行排序就需要先将数据进行切割,然后通过归并排序,最终实现对整体数据的排序。要实现这个过
- 1、在外部函数中定义内部函数,内部函数包含访问外部函数。即使外部函数的生命周期结束后,内部函数仍然可以访问外部函数变量。2、外部函数的返回值
- 本文实例为大家分享了python实现简单图片物体标注工具的具体代码,供大家参考,具体内容如下# coding: utf-8"&qu