jQuery渐变发光导航菜单的实例代码


Posted in Javascript onMarch 27, 2013

jQuery渐变发光导航菜单的实例代码

jQuery渐变发光导航菜单的实例代码

下面和大家分享一下具体的实现过程。

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导航菜单能够给你一些灵感。

Javascript 相关文章推荐
海量经典的jQuery插件集合
Jan 12 Javascript
jQuery学习笔记 操作jQuery对象 CSS处理
Sep 19 Javascript
js 编码转换 gb2312 和 utf8 互转的2种方法
Aug 07 Javascript
javascript通过className来获取元素的简单示例代码
Jan 10 Javascript
javascript实现动态模态绑定grid过程代码
Sep 22 Javascript
js实现a标签超链接提交form表单的方法
Jun 24 Javascript
jquery+json实现数据二级联动的方法
Nov 28 Javascript
js replace()去除代码中空格的实例
Feb 14 Javascript
javascript基本数据类型和转换
Mar 17 Javascript
浅谈js-FCC算法Friendly Date Ranges(详解)
Apr 10 Javascript
详解如何使用vue-cli脚手架搭建Vue.js项目
May 19 Javascript
Vue中使用vee-validate表单验证的方法
May 09 Javascript
鼠标放在图片上显示大图的JS代码
Mar 26 #Javascript
javascript数组去重3种方法的性能测试与比较
Mar 26 #Javascript
两种常用的javascript数组去重方法思路及代码
Mar 26 #Javascript
javascript变量作用域使用中常见错误总结
Mar 26 #Javascript
定时器(setTimeout/setInterval)调用带参函数失效解决方法
Mar 26 #Javascript
设为首页加入收藏兼容360/火狐/谷歌/IE等主流浏览器的代码
Mar 26 #Javascript
jquery 无限级联菜单案例分享
Mar 26 #Javascript
You might like
用PHP读注册表
2006/10/09 PHP
实例介绍PHP的Reflection反射机制
2014/08/05 PHP
PHP内存缓存功能memcached示例
2016/10/19 PHP
php实现微信小程序授权登录功能(实现流程)
2019/11/13 PHP
B/S开发中常用javaScript技术与代码
2007/03/09 Javascript
通过javascript设置css属性的代码
2009/12/28 Javascript
IE下js调试工具Companion.JS
2010/10/15 Javascript
JS对话框_JS模态对话框showModalDialog用法总结
2014/01/11 Javascript
kindeditor修复会替换script内容的问题
2015/04/03 Javascript
JavaScript弹出新窗口并控制窗口移动到指定位置的方法
2015/04/06 Javascript
完美实现bootstrap分页查询
2015/12/09 Javascript
实例详解JavaScript获取链接参数的方法
2016/01/01 Javascript
jquery 判断是否支持Placeholder属性的方法
2017/02/07 Javascript
NodeJS实现视频转码的示例代码
2017/11/18 NodeJs
three.js中文文档学习之通过模块导入
2017/11/20 Javascript
对layer弹出框中icon数字参数的说明介绍
2019/09/04 Javascript
详解vue-router 动态路由下子页面多页共活的解决方案
2019/12/22 Javascript
Vue自定义组件双向绑定实现原理及方法详解
2020/09/03 Javascript
js 实现碰撞检测的示例
2020/10/28 Javascript
import的本质解析
2017/10/30 Python
利用python将json数据转换为csv格式的方法
2018/03/22 Python
解决Tensorflow安装成功,但在导入时报错的问题
2018/06/13 Python
python实现泊松图像融合
2018/07/26 Python
Python实现的读取/更改/写入xml文件操作示例
2018/08/30 Python
python批量赋值操作实例
2018/10/22 Python
python实现对指定字符串补足固定长度倍数截断输出的方法
2018/11/15 Python
Selenium chrome配置代理Python版的方法
2018/11/29 Python
利用Pytorch实现简单的线性回归算法
2020/01/15 Python
Django REST framwork的权限验证实例
2020/04/02 Python
jupyter notebook tensorflow打印device信息实例
2020/04/20 Python
基于python实现查询ip地址来源
2020/06/02 Python
美国知名男士服饰品牌:Brooks Brothers(布克兄弟)
2016/08/25 全球购物
MANGO官方网站:西班牙芒果服装品牌
2017/01/15 全球购物
J.Crew官网:美国知名休闲服装品牌
2017/05/19 全球购物
人力资源管理毕业生自荐信
2013/11/21 职场文书
如何使用 resize 实现图片切换预览功能
2021/08/23 HTML / CSS