jQuery入门第十一章(前端利用音频弹奏欢乐颂)

简介: jQuery入门第十一章(前端利用音频弹奏欢乐颂)

效果图

20210915204500896.png


基本样式

    <style>
        * {
            margin: 0;
            padding: 0;
            list-style: none;
        }
        nav {
            width: 700px;
            height: 50px;
            background-color: #333;
            margin: 0 auto;
            overflow: hidden;
        }
        nav ul {
            display: flex;
        }
        nav li {
            width: 100px;
            height: 50px;
            color: #fff;
            cursor: pointer;
            display: flex;
            justify-content: center;
            align-items: center;
            position: relative;
        }
        nav li i {
            width: 100px;
            height: 50px;
            background-color: palegreen;
            position: absolute;
            top: 50px;
            left: 0;
        }
        nav li span {
            position: relative;
            z-index: 1;
        }
        .box {
            display: flex;
            justify-content: center;
        }
        .box img {
            width: 700px;
        }
    </style>


<body>
    <nav>
        <ul>
            <li> <span>导航1</span> <i></i> </li>
            <li> <span>导航2</span> <i></i> </li>
            <li> <span>导航3</span> <i></i> </li>
            <li> <span>导航4</span> <i></i> </li>
            <li> <span>导航5</span> <i></i> </li>
            <li> <span>导航6</span> <i></i> </li>
            <li> <span>导航7</span> <i></i> </li>
        </ul>
    </nav>
    <div class="box">
        <img src="../image/musice3.jpg" alt="">
    </div>
    <!-- 音频标签准备 -->
    <audio src="../mp3/1.mp3"></audio>
    <audio src="../mp3/2.mp3"></audio>
    <audio src="../mp3/3.mp3"></audio>
    <audio src="../mp3/4.mp3"></audio>
    <audio src="../mp3/5.mp3"></audio>
    <audio src="../mp3/6.mp3"></audio>
    <audio src="../mp3/7.mp3"></audio>
</body>


记得引入jq哦

20210915205319886.png


完整代码

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script src="../../jq/jquery-1.12.4.min.js"></script>
    <style>
        * {
            margin: 0;
            padding: 0;
            list-style: none;
        }
        nav {
            width: 700px;
            height: 50px;
            background-color: #333;
            margin: 0 auto;
            overflow: hidden;
        }
        nav ul {
            display: flex;
        }
        nav li {
            width: 100px;
            height: 50px;
            color: #fff;
            cursor: pointer;
            display: flex;
            justify-content: center;
            align-items: center;
            position: relative;
        }
        nav li i {
            width: 100px;
            height: 50px;
            background-color: palegreen;
            position: absolute;
            top: 50px;
            left: 0;
        }
        nav li span {
            position: relative;
            z-index: 1;
        }
        .box {
            display: flex;
            justify-content: center;
        }
        .box img {
            width: 700px;
        }
    </style>
    <script>
        $(function () {
            // 鼠标移入
            $('li').mouseover(function () {
                let index = $(this).index()
                // 重新加载事件
                $('audio').get(index).load();
                $('audio').get(index).play();
                // console.log($(this));
                $(this).children('i').stop().animate({ top: 0 })
            }).mouseout(function () {
                $(this).children('i').stop().animate({ top: 50 })
            })
        })
        // 键盘按下事件keydown
        $(window).on('keydown', function (e) {
            // 取49-55
            if (e.keyCode >= 49 && e.keyCode <= 55) {
                let index = e.keyCode - 49
                // li的下标index的后代i
                $('li').eq(index).find('i').animate({ top: 0 })
                $('audio').get(index).load();
                $('audio').get(index).play();
            }
        }).on('keyup', function (e) {
            // console.log(1);
            let index = e.keyCode - 49
            // li的下标index的后代i
            $('li').eq(index).find('i').animate({ top: 50 })
        })
    </script>
</head>
<body>
    <nav>
        <ul>
            <li> <span>导航1</span> <i></i> </li>
            <li> <span>导航2</span> <i></i> </li>
            <li> <span>导航3</span> <i></i> </li>
            <li> <span>导航4</span> <i></i> </li>
            <li> <span>导航5</span> <i></i> </li>
            <li> <span>导航6</span> <i></i> </li>
            <li> <span>导航7</span> <i></i> </li>
        </ul>
    </nav>
    <div class="box">
        <img src="../image/musice3.jpg" alt="">
    </div>
    <!-- 音频标签准备 -->
    <audio src="../mp3/1.mp3"></audio>
    <audio src="../mp3/2.mp3"></audio>
    <audio src="../mp3/3.mp3"></audio>
    <audio src="../mp3/4.mp3"></audio>
    <audio src="../mp3/5.mp3"></audio>
    <audio src="../mp3/6.mp3"></audio>
    <audio src="../mp3/7.mp3"></audio>
</body>
</html>


最后可以输入键盘1-7就是可以弹奏自己喜欢的音乐啦


相关文章
|
1天前
|
Dart 前端开发 开发工具
【Flutter前端技术开发专栏】Flutter入门指南:搭建开发环境与第一个应用
【4月更文挑战第30天】本文介绍了Flutter SDK的安装和配置过程,以及如何创建并运行第一个Flutter应用。首先确保安装了Dart SDK和Flutter SDK,支持macOS、Linux和Windows。安装完成后,设置环境变量,然后通过`flutter doctor`验证安装。接着,使用`flutter create`命令创建新项目,进入项目目录并运行`flutter run`启动应用。在`main.dart`中修改代码以自定义应用。Flutter支持热重载和DevTools调试。本文为Flutter初学者提供了快速入门的指导。
【Flutter前端技术开发专栏】Flutter入门指南:搭建开发环境与第一个应用
|
1天前
|
前端开发 小程序 测试技术
前端后端测试接口mork神器,Apifox使用一分钟入门
前端后端测试接口mork神器,Apifox使用一分钟入门
11 0
|
1天前
|
JavaScript 前端开发 索引
【Web 前端】jQuery 里的 each() 是什么函数?你是如何使用它的?
【5月更文挑战第2天】【Web 前端】jQuery 里的 each() 是什么函数?你是如何使用它的?
|
1天前
|
JavaScript 前端开发 C++
【Web 前端】JavaScript window.onload 事件和 jQuery ready 函数有何不同?
【5月更文挑战第2天】【Web 前端】JavaScript window.onload 事件和 jQuery ready 函数有何不同?
|
1天前
|
JavaScript 前端开发
【Web 前端】如何在点击一个按钮时使用 jQuery 隐藏一个图片?
【5月更文挑战第2天】【Web 前端】如何在点击一个按钮时使用 jQuery 隐藏一个图片?
|
1天前
|
JavaScript 前端开发
【Web 前端】 jQuery 里的 ID 选择器和 class 选择器有何不同?
【5月更文挑战第1天】【Web 前端】 jQuery 里的 ID 选择器和 class 选择器有何不同?
|
1天前
|
JavaScript 前端开发
【Web 前端】jQuery 库中的 $() 是什么?
【5月更文挑战第1天】【Web 前端】jQuery 库中的 $() 是什么?
|
1天前
|
前端开发 JavaScript
前端 富文本编辑器原理——从javascript、html、css开始入门(二)
前端 富文本编辑器原理——从javascript、html、css开始入门
28 0
前端 富文本编辑器原理——从javascript、html、css开始入门(二)
|
1天前
|
前端开发 JavaScript 索引
前端 富文本编辑器原理——从javascript、html、css开始入门(一)
前端 富文本编辑器原理——从javascript、html、css开始入门
38 0
|
1天前
|
XML 编解码 前端开发
css设计文本样式 前端开发入门笔记(十二)
css设计文本样式 前端开发入门笔记(十二)
7 0