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的public、private和privileged模式
Dec 28 Javascript
jquery1.4.2 for Visual studio 2010 模板文件
Jul 14 Javascript
js设置控件的隐藏与显示的两种方法
Aug 21 Javascript
Jquery遍历Json数据的方法
Apr 20 Javascript
javascript封装简单实现方法
Aug 11 Javascript
JS实现图片平面旋转的方法
Mar 01 Javascript
js多功能分页组件layPage使用方法详解
May 19 Javascript
Javascript下拉刷新的简单实现
Feb 14 Javascript
如何让你的JS代码更好看易读
Dec 01 Javascript
vue项目中跳转到外部链接的实例讲解
Sep 20 Javascript
javascript实现遮罩层动态效果实例
May 14 Javascript
如何自定义微信小程序tabbar上边框的颜色
Jul 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的ASCII码转换类
2013/07/05 PHP
php读取excel文件的简单实例
2013/08/26 PHP
destoon实现调用当前栏目分类及子分类和三级分类的方法
2014/08/21 PHP
fsockopen pfsockopen函数被禁用,SMTP发送邮件不正常的解决方法
2015/09/20 PHP
简单谈谈php延迟静态绑定
2016/01/26 PHP
最佳6款用于移动网站开发的jQuery 图片滑块插件小结
2012/07/20 Javascript
简介JavaScript中fixed()方法的使用
2015/06/08 Javascript
js实现动态创建的元素绑定事件
2016/07/19 Javascript
jquery操作checkbox火狐下第二次无法勾选的解决方法
2016/10/10 Javascript
详解bootstrap的modal-remote两种加载方式【强化】
2017/01/27 Javascript
JS 插件dropload下拉刷新、上拉加载使用小结
2017/04/13 Javascript
vue2.0全局组件之pdf详解
2017/06/26 Javascript
jquery animate动画持续运动的实例
2017/11/29 jQuery
基于Vue实现关键词实时搜索高亮显示关键词
2018/07/21 Javascript
vue中axios实现数据交互与跨域问题
2019/05/12 Javascript
使用webpack5从0到1搭建一个react项目的实现步骤
2020/12/16 Javascript
Python函数中定义参数的四种方式
2014/11/30 Python
使用Python设置tmpfs来加速项目的教程
2015/04/17 Python
替换python字典中的key值方法
2018/07/06 Python
python hbase读取数据发送kafka的方法
2018/12/27 Python
python添加模块搜索路径和包的导入方法
2019/01/19 Python
浅谈python函数调用返回两个或多个变量的方法
2019/01/23 Python
Python操作rabbitMQ的示例代码
2019/03/19 Python
Python3中的bytes和str类型详解
2019/05/02 Python
python scipy卷积运算的实现方法
2019/09/16 Python
详解Python在使用JSON时需要注意的编码问题
2019/12/06 Python
python实现FTP文件传输的方法(服务器端和客户端)
2020/03/20 Python
Python3.7 读取音频根据文件名生成脚本的代码
2020/04/07 Python
使用Python实现音频双通道分离
2020/12/25 Python
美国家居用品和厨具购物网站:DealsDot
2019/10/07 全球购物
GAZMAN官网:澳大利亚领先的男装品牌
2019/12/19 全球购物
2019年.net常见面试问题
2012/02/12 面试题
见习期自我鉴定范文
2014/03/19 职场文书
副乡长民主生活会个人对照检查材料思想汇报
2014/10/01 职场文书
PC版《死亡搁浅导剪版》现已发售 展开全新的探险
2022/04/03 其他游戏
ORACLE中dbms_output.put_line输出问题的解决过程
2022/06/28 Oracle