jquery实现钢琴按键

HTML

<body>
    <div class="nav">
        <ul>
            <li>
                <a href="#">导航一</a>
                <span></span>
            </li>
            <li>
                <a href="#">导航二</a>
                <span></span>
            </li>
            <li>
                <a href="#">导航三</a>
                <span></span>
            </li>
            <li>
                <a href="#">导航四</a>
                <span></span>
            </li>
            <li>
                <a href="#">导航五</a>
                <span></span>
            </li>
        </ul>
    </div>
</body>

CSS

*{
    padding: 0;
    margin: 0;
    list-style: none;
}
a{
    text-decoration: none;
}
.nav{
    width: 500px;
    height: 60px;
    background-color: black;
    margin: 0 auto;

}
.nav li{
    width: 100px;
    height: 60px;
    line-height: 60px;
    float: left;
    position: relative;
    overflow: hidden;

}
.nav a{
    position: absolute;
    width: 100%;
    height: 100%;
    font-size: 24px;
    color: blue;
    text-align: center;
    z-index: 100;
}
.nav span{
    position: absolute;
    width: 100%;
    height: 100%;
    background-color: yellow;
    top: 60px;
}

jquery

<script src="jQuery/jquery-1.12.3.js"></script>
    <script>
        $(function () {
            $(".nav li").mouseenter(function () {
               $(this).children("span").stop().animate({top:0});
            }).mouseleave(function () {
                $(this).children("span").stop().animate({top:60});
            });
            // 按下1-9这几个数字键,能触发对应的mouseenter事件
            $(document).on("keydown",function (e) {
                // 获取对应按下的键
                var code = e.keyCode;
                if (code >= 49 && code <= 57) {
                    // 触发对应的li的mouseenter事件
                    $(".nav li").eq(code - 49).mouseenter();
                }
            });
                $(document).on("keyup",function (e) {
                    // 获取对应按下的键
                    var code = e.keyCode;
                    if (code >= 49 && code <= 57) {
                        // 触发对应的li的mouseleave事件
                        $(".nav li").eq(code - 49).mouseleave();
                    }
                });
            });
    </script>

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值