用jQuery和css3实现的一个模仿淘宝ued博客左边的菜单切换动画效果

今天看到淘宝ued博客上左边的菜单导航动画效果不错,就用jQuery和css3做了一个简单的例子,主要是实现运用了jQuery 事件和css3 transition属性。

  1. 用一个元素来实现鼠标滑动到某个导航的背景效果,文字颜色也运用css3 transition 渐变的效果
  2. 当鼠标滑动其他导航的时候,加背景的元素的top值也会随着变化,定位到当前的导航上,同时文字字体颜色也会跟着改变;
    主要实现的html代码如下:
<div class="menuBox">
        <div class="itemBg">  
        </div>
        <ul>
            <li >
                <a href="">首页</a>
            </li>
            <li>
                <a href="">关于我们</a>
            </li>
            <li class="select">
                <a href="">蓝枫专栏</a>
            </li>
            <li>
                <a href="">联系方式</a>
            </li>
            <li>
                <a href="">产品营销</a>
            </li>
        </ul>
    </div>

css样式:

 .menuBox{ position: relative; width: 220px; background: #fff; }
        .itemBg{ position: absolute; top: 0; left: 0; z-index: -1; height: 41px; background: #f8f8f8; border-left: 5px solid #ff6600; width: 185px;transition:none;}
        .menuBox li{ border-top: 1px solid #f8f8f8; float: left; margin-top: -1px;}
        .menuBox ul{ margin-left: 32px; float: left; width: 156px; overflow: hidden;}
        .menuBox a{ display: block; padding: 9px 0; height: 21px; line-height: 21px; float: left; width: 156px;color:#333;-moz-transition:color .2s;-o-transition:color .2s;-webkit-transition:color .2s;transition:color .2s; text-decoration: none;}
        .menuBox a:visited{color:#333}a:focus{outline:0}
        .menuBox a:active, .menuBox a:hover,.menuBox .select a{color:#ff5f3e;outline:0; text-decoration: none;}

js代码

 $(function(){
           var menuBox = $('div.menuBox'),
                   itemBg = $('div.itemBg',menuBox),
                   _li = $('li',menuBox),
                   _licur = $('li.select',menuBox);
           //根据默认页面的导航到top设置itemBg的top值
           itemBg.css('top',(_licur.offset().top-_licur.closest('div').offset().top));

           _li.on({
               mouseenter:function(){
                   var $this =$(this);
                   itemBg.css({
                       'top':($this.offset().top-$this.closest('div').offset().top),
                       'transition-property':'top',
                       'transition-duration': 0.2+'s'
                   });
               },
               mouseleave:function(){
                   var $this =$(this);
                   itemBg.css({
                       'top':(_licur.offset().top-$this.closest('div').offset().top),
                       'transition-property':'top',
                       'transition-duration': 0.2+'s'
                   });

               }
           })

       })

:考虑到网站性能优化的问题,一般css能实现的样式效果尽量不用js去实现。

demo下载地址:http://download.csdn.net/detail/yilanyoumeng3/8497225

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

前端岚枫

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值