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 相关文章推荐
js动态调用css属性的小规律及实例说明
Dec 28 Javascript
动态加载js、css等文件跨iframe实现
Feb 24 Javascript
JS基于Ajax实现的网页Loading效果代码
Oct 27 Javascript
用js动态添加html元素,以及属性的简单实例
Jul 19 Javascript
关于Function中的bind()示例详解
Dec 02 Javascript
Angularjs根据json文件动态生成路由状态的实现方法
Apr 17 Javascript
Vue实现选择城市功能
May 27 Javascript
微信小程序列表渲染功能之列表下拉刷新及上拉加载的实现方法分析
Nov 27 Javascript
vue-cli3+typescript初体验小结
Feb 28 Javascript
Vue 自定义指令功能完整实例
Sep 17 Javascript
微信小程序(订阅消息)功能
Oct 25 Javascript
vue 使用post/get 下载导出文件操作
Aug 07 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/11/25 PHP
Linux下将excel数据导入到mssql数据库中的方法
2010/02/08 PHP
PHP使用CURL实现多线程抓取网页
2015/04/30 PHP
php操作redis缓存方法分享
2015/06/03 PHP
PHP PDOStatement::closeCursor讲解
2019/01/30 PHP
CI框架教程之优化验证码机制详解【验证码辅助函数】
2019/04/16 PHP
深入理解JavaScript是如何实现继承的
2013/12/12 Javascript
jquery中change()用法实例分析
2015/02/06 Javascript
JS实现仿中关村论坛评分后弹出提示效果的方法
2015/02/23 Javascript
jQuery实用技巧必备(中)
2015/11/03 Javascript
Express实现前端后端通信上传图片之存储数据库(mysql)傻瓜式教程(一)
2015/12/10 Javascript
使用 stylelint检查CSS_StyleLint
2016/04/28 Javascript
node+express制作爬虫教程
2016/11/11 Javascript
基于jquery实现的鼠标悬停提示案例
2016/12/11 Javascript
nodejs redis 发布订阅机制封装实现方法及实例代码
2016/12/15 NodeJs
vuejs 制作背景淡入淡出切换动画的实例
2018/09/01 Javascript
js实现图片无缝循环轮播
2019/10/28 Javascript
深入理解 ES6中的 Reflect用法
2020/07/18 Javascript
vant-ui组件调用Dialog弹窗异步关闭操作
2020/11/04 Javascript
[14:19]2018年度COSER大赛-完美盛典
2018/12/16 DOTA
python 数据清洗之数据合并、转换、过滤、排序
2017/02/12 Python
python登录并爬取淘宝信息代码示例
2017/12/09 Python
详解python中的线程
2018/02/10 Python
用vue.js组件模拟v-model指令实例方法
2019/07/05 Python
python 3.74 运行import numpy as np 报错lib\site-packages\numpy\__init__.py
2019/10/06 Python
python通过安装itchat包实现微信自动回复收到的春节祝福
2020/01/19 Python
Python开发.exe小工具的详细步骤
2021/01/27 Python
HTML5中5个简单实用的API
2014/04/28 HTML / CSS
生产部统计员岗位职责
2014/01/05 职场文书
公司企业表扬信
2014/01/11 职场文书
高中同学聚会邀请函
2014/01/11 职场文书
学校师德师风自我剖析材料
2014/09/29 职场文书
介绍信样本
2015/01/31 职场文书
三八妇女节慰问信
2015/02/14 职场文书
《吸血鬼:避世 血猎》官宣4.27发售 系列首款大逃杀
2022/04/03 其他游戏
苹果发布了MagSafe固件更新,可以不外接电源实现最高7.5W充电
2022/04/21 数码科技