zoukankan      html  css  js  c++  java
  • 钢琴版导航条案例

    <!DOCTYPE html>

    <html lang="en">

    <head>

      <meta charset="UTF-8">

      <title>Title</title>

      <style>

        * {

          margin: 0;

          padding: 0;

          list-style: none;

        }

        

        .nav {

           900px;

          height: 60px;

          background-color: black;

          margin: 0 auto;

        }

        

        .nav li {

           100px;

          height: 60px;

          /*border: 1px solid yellow;*/

          float: left;

          position: relative;

          overflow: hidden;

        }

        

        .nav a {

          position: absolute;

           100%;

          height: 100%;

          font-size: 24px;

          color: blue;

          text-align: center;

          line-height: 60px;

          text-decoration: none;

          z-index: 2;

        }

        

        .nav span {

          position: absolute;

           100%;

          height: 100%;

          background-color: yellow;

          top: 60px;

        }

      </style>

      <script src="../jquery-1.12.4.js"></script>

      <script>

        $(function () {

          //给li注册鼠标进入事件,让li下面的span top:0  播放音乐

          $(".nav li").mouseenter(function () {

            $(this).children("span").stop().animate({top: 0});

            //播放音乐

            var idx = $(this).index();

            $(".nav audio").get(idx).load();

            $(".nav audio").get(idx).play();

          }).mouseleave(function () {

            $(this).children("span").stop().animate({top: 60});

          });

          

          //节流阀  :按下的时候,触发,如果没弹起,不让触发下一次

          //1. 定义一个flag

          var flag = true;

          

          

          //按下1-9这几个数字键,能触发对应的mouseenter事件

          $(document).on("keydown", function (e) {

            if(flag) {

              flag = false;

              //获取到按下的键

              var code = e.keyCode;

              if(code >= 49 && code <= 57){

                //触发对应的li的mouseenter事件

                $(".nav li").eq(code - 49).mouseenter();

              }

            }

           

          });

      

          $(document).on("keyup", function (e) {

            flag = true;

            

            //获取到按下的键

            var code = e.keyCode;

            if(code >= 49 && code <= 57){

              //触发对应的li的mouseenter事件

              $(".nav li").eq(code - 49).mouseleave();

            }

          });

          //弹起的时候,触发mouseleave事件

          

        });

      </script>

    </head>

    <body>

    <div class="nav">

      <ul>

        <li>

          <a href="javascript:void(0);">导航1</a>

          <span></span>

        </li>

        <li><a href="javascript:void(0);">导航2</a><span></span></li>

        <li><a href="javascript:void(0);">导航3</a><span></span></li>

        <li><a href="javascript:void(0);">导航4</a><span></span></li>

        <li><a href="javascript:void(0);">导航5</a><span></span></li>

        <li><a href="javascript:void(0);">导航6</a><span></span></li>

        <li><a href="javascript:void(0);">导航7</a><span></span></li>

        <li><a href="javascript:void(0);">导航8</a><span></span></li>

        <li><a href="javascript:void(0);">导航9</a><span></span></li>

      </ul>

      

      <div>

        <audio src="mp3/1.ogg"></audio>

        <audio src="mp3/2.ogg"></audio>

        <audio src="mp3/3.ogg"></audio>

        <audio src="mp3/4.ogg"></audio>

        <audio src="mp3/5.ogg"></audio>

        <audio src="mp3/6.ogg"></audio>

        <audio src="mp3/7.ogg"></audio>

        <audio src="mp3/8.ogg"></audio>

        <audio src="mp3/9.ogg"></audio>

      </div>

    </div>

    </body>

    </html>

  • 相关阅读:
    怎样做一个优秀的系统分析师
    eBay的架构
    Linux Network Load Balance(Linux下实现负载均衡)
    SNS和互联网,一些可能未必意识到的事
    Web架构设计的几个心得
    开发者不可不知的PHP框架深度解析
    从开发者协议看各SNS开放平台的开放策略
    解剖Twitter:Twitter系统结构分析
    PHP语言的优点及缺点
    大型网站架构不得不考虑的问题
  • 原文地址:https://www.cnblogs.com/wjlbk/p/12633416.html
Copyright © 2011-2022 走看看