day41 CD播放(案例学习)

2024-02-15 15:52
文章标签 学习 案例 播放 cd day41

本文主要是介绍day41 CD播放(案例学习),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

示例

该示例是一个简单的CD播放器,通过点击不同的按钮来控制CD的旋转和音乐的播放/暂停。

JavaScript部分的功能分析如下:

  1. rota数组用于描述每个CD的旋转角度,初始值为[0, 0]。
  2. result数组用于表示每个CD的状态,初始值为[false, false],代表两个CD都是静止不动的状态。
  3. setInter数组存储了定时器的引用,用于控制CD的旋转。
  4. playOrStop函数是点击按钮时的事件处理函数,根据点击的CD当前的状态执行相应的操作。
    • 如果CD当前是静止状态,将CD的定时器启动,每隔20毫秒调用move函数旋转CD,并将CD的状态设置为运行。
    • 同时播放对应CD的音乐,并暂停其他CD的音乐。
    • 如果CD当前是运行状态,清除CD的定时器,暂停CD的音乐,并将CD的状态设置为静止。
  5. move函数是CD旋转的方法,通过修改CD的transform属性实现旋转效果。

HTML部分主要是一个简单的表格布局,包含两个CD的图像和按钮,点击按钮时调用playOrStop函数。

CSS部分定义了一些样式,包括设置CD的大小、边框、旋转等样式。

总体来说,该示例通过JavaScript控制了CD的旋转和音乐的播放/暂停,通过HTML和CSS实现了简单的界面展示和样式设置。
在这里插入图片描述


var rota = [0, 0];//描述角度
var result = [false, false];//默认两个CD都是静止不动
var setInter = [null, null];
function playOrStop(index) {//判断点击的cd的状态if (result[index] == false) {//证明点击的这个CD目前的状态是静止setInter[index] = setInterval("move(" + index + ");", 20);//每隔20毫秒进行方法的调用result[index] = true;//改变这个cd的状态为运行//对音乐进行操作(音乐要开始播放了)//------------------------------------------------------var audio = document.getElementById("audio" + index);if (audio && audio.paused) {audio.play();}//其余的CD停止for (var i = 0; i < rota.length; i++) {if (i != index) {clearInterval(setInter[i]);var audio = document.getElementById("audio" + i);if (audio) {audio.pause();}result[i] = false;}}} else {//证明该我点击的这个CD目前是运行状态clearInterval(setInter[index]);document.getElementById("audio" + index).pause();result[index] = false;}
}//运行的方法
function move(index) {var box = document.getElementById("td" + index).style.transform = "rotate(" + rota[index] + "deg)";rota[index]++;
}
<!DOCTYPE html>
<html><head><meta charset="utf-8"><title></title><script type="text/javascript" src="cd.js"></script><link rel="stylesheet" href="cd.css"></head><body><div id="all"><table><tr><td id="td0"><img src="/images/qiji.jpg"></td><td id="td1"><img src="/images/yuai.jpg"></td></tr><tr><td><input type="button" value="play/stop" onclick="playOrStop(0);"></td><td><input type="button" value="play/stop" onclick="playOrStop(1);"></td></tr></table></div><div id="music" style="display: none;"><audio src="mp3/wind.mp3" id="audio0" autoplay></audio><audio src="mp3/wind.mp3" id="audio1" autoplay></audio></div></body></html>
#all {border: 1px solid red;width: 1238px;height: 1223px;margin: 0 auto;
}table td {border: 1px solid black;width: 610px;height: 600px;
}table tr {text-align: center;
}table tr input {width: 400px;height: 200px;font-size: 40px;
}table img {width: 610px;height: 600px;object-fit: cover;
}#td0 {transform: rotate(0deg);
}#td1 {transform: rotate(0deg);
}

这篇关于day41 CD播放(案例学习)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/711832

相关文章

mysql_mcp_server部署及应用实践案例

《mysql_mcp_server部署及应用实践案例》文章介绍了在CentOS7.5环境下部署MySQL_mcp_server的步骤,包括服务安装、配置和启动,还提供了一个基于Dify工作流的应用案例... 目录mysql_mcp_server部署及应用案例1. 服务安装1.1. 下载源码1.2. 创建独立

mybatis-plus分表实现案例(附示例代码)

《mybatis-plus分表实现案例(附示例代码)》MyBatis-Plus是一个MyBatis的增强工具,在MyBatis的基础上只做增强不做改变,为简化开发、提高效率而生,:本文主要介绍my... 目录文档说明数据库水平分表思路1. 为什么要水平分表2. 核心设计要点3.基于数据库水平分表注意事项示例

SpringBoot整合AOP及使用案例实战

《SpringBoot整合AOP及使用案例实战》本文详细介绍了SpringAOP中的切入点表达式,重点讲解了execution表达式的语法和用法,通过案例实战,展示了AOP的基本使用、结合自定义注解以... 目录一、 引入依赖二、切入点表达式详解三、案例实战1. AOP基本使用2. AOP结合自定义注解3.

Springboot3 ResponseEntity 完全使用案例

《Springboot3ResponseEntity完全使用案例》ResponseEntity是SpringBoot中控制HTTP响应的核心工具——它能让你精准定义响应状态码、响应头、响应体,相比... 目录Spring Boot 3 ResponseEntity 完全使用教程前置准备1. 项目基础依赖(M

C++11中的包装器实战案例

《C++11中的包装器实战案例》本文给大家介绍C++11中的包装器实战案例,本文结合实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录引言1.std::function1.1.什么是std::function1.2.核心用法1.2.1.包装普通函数1.2.

Redis 命令详解与实战案例

《Redis命令详解与实战案例》本文详细介绍了Redis的基础知识、核心数据结构与命令、高级功能与命令、最佳实践与性能优化,以及实战应用场景,通过实战案例,展示了如何使用Redis构建高性能应用系统... 目录Redis 命令详解与实战案例一、Redis 基础介绍二、Redis 核心数据结构与命令1. 字符

通过DBeaver连接GaussDB数据库的实战案例

《通过DBeaver连接GaussDB数据库的实战案例》DBeaver是一个通用的数据库客户端,可以通过配置不同驱动连接各种不同的数据库,:本文主要介绍通过DBeaver连接GaussDB数据库的... 目录​一、前置条件​二、连接步骤​三、常见问题与解决方案​1. 驱动未找到​2. 连接超时​3. 权限不

Java中的随机数生成案例从范围字符串到动态区间应用

《Java中的随机数生成案例从范围字符串到动态区间应用》本文介绍了在Java中生成随机数的多种方法,并通过两个案例解析如何根据业务需求生成特定范围的随机数,本文通过两个实际案例详细介绍如何在java中... 目录Java中的随机数生成:从范围字符串到动态区间应用引言目录1. Java中的随机数生成基础基本随

SpringMVC配置、映射与参数处理​入门案例详解

《SpringMVC配置、映射与参数处理​入门案例详解》文章介绍了SpringMVC框架的基本概念和使用方法,包括如何配置和编写Controller、设置请求映射规则、使用RestFul风格、获取请求... 目录1.SpringMVC概述2.入门案例①导入相关依赖②配置web.XML③配置SpringMVC

Mysql利用binlog日志恢复数据实战案例

《Mysql利用binlog日志恢复数据实战案例》在MySQL中使用二进制日志(binlog)恢复数据是一种常见的用于故障恢复或数据找回的方法,:本文主要介绍Mysql利用binlog日志恢复数据... 目录mysql binlog核心配置解析查看binlog日志核心配置项binlog核心配置说明查看当前所