zoukankan      html  css  js  c++  java
  • html,css,js(包含简单的 ES6语法) 实现 简单的音乐盒

    知识要点

    • videoObject.load(): 加载某个视频(音频)文件,即重新播放
    • videoObject.play(): 播放视频(音频)文件
    • videoObject.remove(): 停止播放视频(音频)文件

    ES6小知识

    • const关键字:用来声明常量(即保持不变的量)
    • let关键字:用来声明变量(即可以变化的量)

    代码(背景图片,音频文件可以自己替换哈):

    html:

    <div class="container">
            <div class="musicBox">
                <div class="bottom"><img src="images/musicb.jpg" width="300" height="300"></div>
                <div class="top"><img src="images/musict.jpg" width="300" height="300"></div>
            </div>
            <div class="musicBox">
                <div class="bottom"><img src="images/01.jpg" width="300" height="300"></div>
                <div class="top"><img src="images/00.jpg" width="300" height="300"></div>
            </div>
            <div class="musicBox">
                <div class="bottom"><img src="images/03.jpg" width="300" height="300"></div>
                <div class="top"><img src="images/02.jpg" width="300" height="300"></div>
            </div>
            <audio src="autios/music0.mp3" loop></audio>
            <audio src="autios/music1.mp3" loop></audio>
            <audio src="autios/music2.mp3" loop></audio>
        </div>

    css:

    <style type="text/css">
            body {
                background: url("images/bg.jpg") no-repeat;
            }
            .musicBox {
                width: 300px;
                height: 300px;
                position: relative;
                margin: 100px 100px;
                float: left;
                border-radius: 50%;
            }
            .bottom, .top {
                position: absolute;
                left: 0;
                top: 0;
                width: 100%;
                height: 100%;
                border-radius: inherit;
                box-shadow: 0 0 14px 2px #FF9800;
                overflow: hidden;
            }
            .top {
                transition: all 1s ease-in-out;
                transform-origin: bottom;
            }
            .bottom_rotate {
                animation: bottom_rotate 6s linear infinite;
            }
            @keyframes bottom_rotate {
                0% {
                    transform: rotate(0deg);
                }
                100% {
                    transform: rotate(360deg);
                }
            }
            .music {
                transform: rotateX(180deg);
            }
        </style>

    javascript:

    <script type="text/javascript">
            const topList = document.querySelectorAll(".top");
            const bottomList = document.querySelectorAll(".bottom");
            const audioList = document.querySelectorAll("audio");
         // 声明一个阀门:用来表示音频的是否播放
            let flag = 1;
            for (let i = 0; i < topList.length; i++) {
                topList[i].addEventListener("click", function () {
                    if (flag == 1) {
                        this.classList.add("music");
                        // videoObject.load(): 用来加载某个视频(音频)文件,即重新播放
                        audioList[i].load();
                        // videoObject.play(): 播放
                        audioList[i].play();
                        // element.classList.add(): 为元素添加 CSS 类
                        bottomList[i].classList.add("bottom_rotate");
                        flag = 0;
                    } else {
                        this.classList.remove("music");
                        // videoObject.pause(): 停止播放
                        audioList[i].pause();
                        // element.classList.remove(): 为元素移除 CSS 类
                        bottomList[i].classList.remove("bottom_rotate");
                        flag = 1;
                    }
                }, false);
            }
        </script>
  • 相关阅读:
    Linux mysql忘记密码 修改密码 解决方法
    nginx http转https后js,css样式丢失/没显示
    Spring cron 表达式
    Python 学习笔记 -- 装饰器
    Python 学习笔记 -- 一些常用的BIF
    Python 学习笔记 -- 类的一些小知识
    Python 学习笔记 -- 继承与多态(入门级实例)
    Python 基础实战 -- 小游戏之乌龟吃鱼(其实只能看不能玩.....)
    Python 学习笔记 -- 类的访问限制
    Python 学习笔记 -- 类和实例
  • 原文地址:https://www.cnblogs.com/duxiu-fang/p/10819880.html
Copyright © 2011-2022 走看看