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 相关文章推荐
javascript 命名空间以提高代码重用性
Nov 13 Javascript
5秒后跳转效果(setInterval/SetTimeOut)
May 03 Javascript
JQuery获取与设置HTML元素的内容或文本的实现代码
Jun 20 Javascript
Express作者TJ告别Node.js奔向Go
Jul 14 Javascript
jQuery中prop()方法用法实例
Jan 05 Javascript
javascript去掉代码里面的注释
Jul 24 Javascript
详解JavaScript中数组的reduce方法
Dec 02 Javascript
判断横屏竖屏(三种)
Feb 13 Javascript
深入理解AngularJs-scope的脏检查(一)
Jun 19 Javascript
vue2实现可复用的轮播图carousel组件详解
Nov 27 Javascript
javascrpt密码强度校验函数详解
Mar 18 Javascript
基于JavaScript获取url参数2种方法
Apr 17 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中break及continue两个流程控制指令区别分析
2011/04/18 PHP
PHP5.3与5.5废弃与过期函数整理汇总
2014/07/10 PHP
Laravel 5框架学习之表单
2015/04/08 PHP
PHP框架Laravel学习心得体会
2015/10/28 PHP
在Thinkphp中使用ajax实现无刷新分页的方法
2016/10/25 PHP
PHP微信分享开发详解
2017/01/14 PHP
Mac系统完美安装PHP7详细教程
2017/06/06 PHP
Nginx下ThinkPHP5的配置方法详解
2017/08/01 PHP
js禁止小键盘输入数字功能代码
2011/08/01 Javascript
使用jQuery操作Cookies的实现代码
2011/10/09 Javascript
JavaScript面向对象设计二 构造函数模式
2011/12/20 Javascript
js动画(animate)简单引擎代码示例
2012/12/04 Javascript
JavaScript定时器详解及实例
2013/08/01 Javascript
使用CamanJS在Web页面上处理图像的技巧
2015/08/18 Javascript
JS使用post提交的两种方式
2015/12/03 Javascript
基于jQuery实现交互体验社会化分享代码附源码下载
2016/01/04 Javascript
基于JavaScript代码实现随机漂浮图片广告
2016/01/05 Javascript
jQuery实现鼠标滚动图片延迟加载效果附源码下载
2016/06/28 Javascript
JavaScript输入分钟、秒倒计时技巧总结(附代码)
2017/08/17 Javascript
JavaScript贪吃蛇小组件实例代码
2017/08/20 Javascript
基于vue.js无缝滚动效果
2018/01/25 Javascript
详解vue-router 初始化时做了什么
2018/06/11 Javascript
Javascript var变量删除原理及实现
2020/08/26 Javascript
解决windows下Sublime Text 2 运行 PyQt 不显示的方法分享
2014/06/18 Python
利用pandas将numpy数组导出生成excel的实例
2018/06/14 Python
Django之使用celery和NGINX生成静态页面实现性能优化
2019/10/08 Python
解决Python3.8用pip安装turtle-0.0.2出现错误问题
2020/02/11 Python
python烟花效果的代码实例
2020/02/25 Python
python简单利用字典破解zip文件口令
2020/09/07 Python
Python使用pickle进行序列化和反序列化的示例代码
2020/09/22 Python
如何利用pycharm进行代码更新比较
2020/11/04 Python
html5 Canvas画图教程(11)—使用lineTo/arc/bezierCurveTo画椭圆形
2013/01/09 HTML / CSS
2014年仓库管理员工作总结
2014/11/18 职场文书
2014年绩效考核工作总结
2014/12/11 职场文书
施工现场安全管理制度
2015/08/05 职场文书
Spring Boot配合PageHelper优化大表查询数据分页
2022/04/20 Java/Android