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等宽输出文字插件使用介绍
Sep 18 Javascript
JS操作iframe里的dom(实例讲解)
Jan 29 Javascript
js拼接html注意问题示例探讨
Jul 14 Javascript
Javascript递归打印Document层次关系实例分析
May 15 Javascript
Jquery全屏相册插件zoomvisualizer具有调节放大与缩小功能
Nov 02 Javascript
理解javascript中的MVC模式
Jan 28 Javascript
js时间控件只显示年月
Jan 08 Javascript
JS简单实现点击按钮或文字显示遮罩层的方法
Apr 27 Javascript
JavaScript中如何判断一个值的类型
Sep 15 Javascript
vue中使用vue-cli接入融云实现即时通信
Apr 19 Javascript
JavaScript动态添加数据到表单并提交的几种方式
Jun 26 Javascript
layui form.render('select', 'test2') 更新渲染的方法
Sep 27 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利用iframe实现无刷新文件上传功能的代码
2011/09/29 PHP
php实现的ping端口函数实例
2014/11/12 PHP
PHP将Excel导入数据库及数据库数据导出至Excel的方法
2015/06/24 PHP
简单介绍win7下搭建apache+php+mysql开发环境
2015/08/06 PHP
[原创]PHP正则匹配中英文、数字及下划线的方法【用户名验证】
2017/08/01 PHP
php的命名空间与自动加载实现方法
2019/08/25 PHP
使用GruntJS构建Web程序之Tasks(任务)篇
2014/06/06 Javascript
一个小例子解释如何来阻止Jquery事件冒泡
2014/07/17 Javascript
Javascript基础教程之函数对象和属性
2015/01/18 Javascript
js根据手机客户端浏览器类型,判断跳转官网/手机网站多个实例代码
2016/04/30 Javascript
jQuery获取table行数并输出单元格内容的实现方法
2016/06/30 Javascript
JavaScript中数组slice和splice的对比小结
2016/09/22 Javascript
基于jQuery实现左侧菜单栏可折叠功能
2016/12/27 Javascript
Angular实现表单验证功能
2017/11/13 Javascript
vue自定义指令directive实例详解
2018/01/17 Javascript
react-native动态切换tab组件的方法
2018/07/07 Javascript
微信开发之企业付款到银行卡接口开发的示例代码
2018/09/18 Javascript
微信小程序实现通过双向滑动缩放图片大小的方法
2018/12/30 Javascript
200行HTML+JavaScript实现年会抽奖程序
2019/01/22 Javascript
node将geojson转shp返回给前端的实现方法
2019/05/29 Javascript
js实现类似iphone的网页滑屏解锁功能示例【附源码下载】
2019/06/10 Javascript
vue 父组件通过$refs获取子组件的值和方法详解
2019/11/07 Javascript
Python 列表(List)操作方法详解
2014/03/11 Python
Python实现竖排打印传单手机号码易撕条
2015/03/16 Python
Python NumPy库安装使用笔记
2015/05/18 Python
利用python批量检查网站的可用性
2016/09/09 Python
pytorch SENet实现案例
2020/06/24 Python
Python Matplotlib简易教程(小白教程)
2020/07/28 Python
网上常见的一份Linux面试题(多项选择部分)
2015/02/07 面试题
公司同意接收函
2014/01/13 职场文书
重阳节登山活动方案
2014/02/03 职场文书
办公设备采购方案
2014/03/16 职场文书
《鸟岛》教学反思
2014/04/26 职场文书
学校创先争优活动总结
2014/08/28 职场文书
检讨书1000字
2014/10/11 职场文书
详解Go与PHP的语法对比
2021/05/29 PHP