带效果的移动导航条

本地在线演示源码在线演示
本地源代码下载:http://download.csdn.net/detail/erdouzhang/9783696
移动导航源代码下载:http://download.csdn.net/detail/erdouzhang/9783694

这里写图片描述

1.引入文件:

  <link rel="stylesheet" href="css/component.css">
  <link rel="stylesheet" href="css/normalize.css">
  <link rel="stylesheet" href="css/style.css">//自己写的样式
  <script src="js/modernizr.custom.js"></script>
  <script src="js/classie.js"></script>
  <script src="js/clipboard.min.js"></script>
  <script src="js/html5shiv.js"></script>

2.html:

<section class="section section--menu" id="Alonso"><!-- 更改不同的id就可以更换效果 -->
    <h2 class="section__title">导航1Alonso</h2>
    <span class="link-copy"></span>
    <nav class="menu menu--alonso">
        <ul class="menu__list">
            <li class="menu__item menu__item--current"><a href="#" class="menu__link">首页</a></li>
            <li class="menu__item"><a href="#" class="menu__link">产品展示</a></li>
            <li class="menu__item"><a href="#" class="menu__link">课程介绍</a></li>
            <li class="menu__item"><a href="#" class="menu__link">关于我们</a></li>
            <li class="menu__item"><a href="#" class="menu__link">联系我们</a></li>
            <li class="menu__line"></li>
        </ul>
    </nav>
</section>

3.css:

* {
  padding: 0;margin: 0;
}
section {
  background-color: pink;
}
section ul li {
  line-height: 50px;
}
.menu__link {     //a标签样式
    font-size: 1.05em;
    font-weight: bold;
    display: block;
    padding: 1em;
    cursor: pointer;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    -webkit-touch-callout: none;
    -khtml-user-select: none;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
.menu--alonso .menu__line {  //下划线样式
    position: absolute;
    top: 100%;
    left: 0;
    width: 60px;
    height: 2px;
    pointer-events: none;
    border: 1px solid #fff;
    border-width: 0 47px;
    background: #d94f5c;
    -webkit-transition: -webkit-transform 0.5s;
    transition: transform 0.5s;
    -webkit-transition-timing-function: cubic-bezier(1, 0.01, 0, 1);
    -webkit-transition-timing-function: cubic-bezier(1, 0.01, 0, 1.22);
    transition-timing-function: cubic-bezier(1, 0.01, 0, 1.22);
}

4.js:

<script>
(function() {
    [].slice.call(document.querySelectorAll('.menu')).forEach(function(menu) {
        var menuItems = menu.querySelectorAll('.menu__link'),
            setCurrent = function(ev) {
                ev.preventDefault();

                var item = ev.target.parentNode; // li

                // return if already current
                if (classie.has(item, 'menu__item--current')) {
                    return false;
                }
                // remove current
                classie.remove(menu.querySelector('.menu__item--current'), 'menu__item--current');
                // set current
                classie.add(item, 'menu__item--current');
            };

        [].slice.call(menuItems).forEach(function(el) {
            el.addEventListener('click', setCurrent);
        });
    });

    [].slice.call(document.querySelectorAll('.link-copy')).forEach(function(link) {
        link.setAttribute('data-clipboard-text', location.protocol + '//' + location.host + location.pathname + '#' + link.parentNode.id);
        new Clipboard(link);
        link.addEventListener('click', function() {
            classie.add(link, 'link-copy--animate');
            setTimeout(function() {
                classie.remove(link, 'link-copy--animate');
            }, 300);
        });
    });
})(window);
</script>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值