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 原型学习总结
Oct 29 Javascript
JavaScript父子窗体间的调用方法
Mar 31 Javascript
jquery中ajax跨域方法实例分析
Dec 18 Javascript
jQuery实现的自动加载页面功能示例
Sep 04 Javascript
jQuery图片轮播(二)利用构造函数和原型创建对象以实现继承
Dec 06 Javascript
JavaScript正则表达式替换字符串中图片地址(img src)的方法
Jan 13 Javascript
vue2.0组件之间传值、通信的多种方式(干货)
Feb 10 Javascript
详解vue.js下引入百度地图jsApi的两种方法
Jul 27 Javascript
Vue2.x通用编辑组件的封装及应用详解
May 28 Javascript
多个Vue项目部署到服务器的步骤记录
Oct 22 Javascript
Javascript中的解构赋值语法详解
Apr 02 Javascript
浅谈JavaScript作用域
Dec 06 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(4) php 函数 补充2
2010/02/15 PHP
Zend Framework动作助手(Zend_Controller_Action_Helper)用法详解
2016/03/05 PHP
php实现将HTML页面转换成word并且保存的方法
2016/10/14 PHP
详解php用static方法的原因
2018/09/12 PHP
PHP 出现 http500 错误的解决方法
2021/03/09 PHP
始终在屏幕中间显示Div的代码(css+js)
2011/03/10 Javascript
js 操作select和option常用代码整理
2012/12/13 Javascript
jquery实现图片渐变切换兼容ie6/Chrome/Firefox
2013/08/02 Javascript
js setTimeout 常见问题小结
2013/08/13 Javascript
jquery ajax post提交数据乱码
2013/11/05 Javascript
开发中可能会用到的jQuery小技巧
2014/03/07 Javascript
45个JavaScript编程注意事项、技巧大全
2015/02/11 Javascript
基于JavaScript实现定时跳转到指定页面
2016/01/01 Javascript
点击页面任何位置隐藏div的实现方法
2016/09/05 Javascript
Bootstrap模态框水平垂直居中与增加拖拽功能
2016/11/09 Javascript
基于jQuery和CSS3实现APPLE TV海报视差效果
2017/06/16 jQuery
vue iview组件表格 render函数的使用方法详解
2018/03/15 Javascript
详解vue中使用protobuf踩坑记
2019/05/07 Javascript
[06:40]2014DOTA2西雅图国际邀请赛 DK战队巡礼
2014/07/07 DOTA
动态创建类实例代码
2009/10/07 Python
Python3中类、模块、错误与异常、文件的简易教程
2017/11/20 Python
Python退火算法在高次方程的应用
2018/07/26 Python
python GUI库图形界面开发之PyQt5窗口类QMainWindow详细使用方法
2020/02/26 Python
浅谈Python中threading join和setDaemon用法及区别说明
2020/05/02 Python
使用jupyter notebook运行python和R的步骤
2020/08/13 Python
Python 实现图片转字符画的示例(静态图片,gif皆可)
2020/11/05 Python
Nike瑞士官网:Nike CH
2021/01/18 全球购物
环境科学专业大学生自荐信格式
2013/09/21 职场文书
建筑工程专业毕业生自荐信
2013/10/19 职场文书
工程业务员工作职责
2013/12/07 职场文书
《恐龙》教学反思
2014/04/27 职场文书
村党支部换届选举方案
2014/05/02 职场文书
党的群众路线教育实践活动对照检查材料思想汇报
2014/09/19 职场文书
教师四风问题对照检查材料
2014/09/26 职场文书
python爬不同图片分别保存在不同文件夹中的实现
2021/04/02 Python
如何利用React实现图片识别App
2022/02/18 Javascript