zoukankan      html  css  js  c++  java
  • 0197 案例:筋头云

    1. 利用动画函数做动画效果
    2. 原先筋斗云的起始位置是0
    3. 鼠标经过某个小li,把当前小li的offsetLeft 位置做为目标值即可
    4. 鼠标离开某个小li,就把目标值设为 0
    5. 如果点击了某个小li, 就把li当前的位置存储起来,做为筋斗云的起始位置
    <!DOCTYPE html>
    <html>
    
    <head lang="en">
        <meta charset="UTF-8">
        <title></title>
        <style>
            * {
                margin: 0;
                padding: 0
            }
            
            ul {
                list-style: none;
            }
            
            body {
                background-color: black;
            }
            
            .c-nav {
                 900px;
                height: 42px;
                background: #fff url(images/rss.png) no-repeat right center;
                margin: 100px auto;
                border-radius: 5px;
                position: relative;
            }
            
            .c-nav ul {
                position: absolute;
            }
            
            .c-nav li {
                float: left;
                 83px;
                text-align: center;
                line-height: 42px;
            }
            
            .c-nav li a {
                color: #333;
                text-decoration: none;
                display: inline-block;
                height: 42px;
            }
            
            .c-nav li a:hover {
                color: white;
            }
            
            .c-nav li.current a {
                color: #0dff1d;
            }
            
            .cloud {
                position: absolute;
                left: 0;
                top: 0;
                 83px;
                height: 42px;
                background: url(images/cloud.gif) no-repeat;
            }
        </style>
        <script src="animate.js"></script>
        <script>
            window.addEventListener('load', function() {
                // 1. 获取元素
                var cloud = document.querySelector('.cloud');
                var c_nav = document.querySelector('.c-nav');
                var lis = c_nav.querySelectorAll('li');
                // 2. 给所有的小li绑定事件 
                // 这个current 做为筋斗云的起始位置
                var current = 0;
                for (var i = 0; i < lis.length; i++) {
                    // (1) 鼠标经过把当前小li 的位置做为目标值
                    lis[i].addEventListener('mouseenter', function() {
                        animate(cloud, this.offsetLeft);
                    });
                    // (2) 鼠标离开就回到起始的位置 
                    lis[i].addEventListener('mouseleave', function() {
                        animate(cloud, current);
                    });
                    // (3) 当我们鼠标点击,就把当前位置做为目标值
                    lis[i].addEventListener('click', function() {
                        current = this.offsetLeft;
                    });
                }
            })
        </script>
    </head>
    
    <body>
        <div id="c_nav" class="c-nav">
            <span class="cloud"></span>
            <ul>
                <li class="current"><a href="#">首页新闻</a></li>
                <li><a href="#">杰帅666</a></li>
                <li><a href="#">活动策划</a></li>
                <li><a href="#">企业文化</a></li>
                <li><a href="#">招聘信息</a></li>
                <li><a href="#">公司简介</a></li>
                <li><a href="#">我是佩奇</a></li>
                <li><a href="#">啥是佩奇</a></li>
            </ul>
        </div>
    </body>
    
    </html>
    

  • 相关阅读:
    Jedis scan及其count的值
    redis中KEYS、SMEMBERS、SCAN 、SSCAN 的区别
    Windows环境下RabbitMQ的启动和停止命令
    HTTP状态码->HTTP Status Code
    给所有的input trim去空格
    git clone 使用用户名和密码
    ABA问题
    FIFO、LRU、LFU的含义和原理
    【phpstorm】破解安装
    【windows7】解决IIS 80端口占用问题(亲测)
  • 原文地址:https://www.cnblogs.com/jianjie/p/12191583.html
Copyright © 2011-2022 走看看