JavaScript如何实现按键音效、视频播放,标签分类切换横向滚动

1.使用HTML5的audio标签 (音频播放)

<audio id="click-sound"><source src="audio/show.mp3" type="audio/mpeg">
</audio>
<button id="button">按钮</button>
var clickSound = document.getElementById("click-sound");var button = document.getElementById("button");button.addEventListener("click", function() {clickSound.play();});

2.使用HTML5的video标签(视频播放) 

<video id="my-video" controls><source src="http://clips.vorwaerts-gmbh.de/big_buck_bunny.mp4" type="video/mp4">
</video>
var myVideo = document.getElementById("my-video");// 播放视频myVideo.play();// 暂停视频// myVideo.pause();// 设置视频播放位置(单位:秒)// myVideo.currentTime = 30;// 设置视频音量(0-1之间的小数)myVideo.volume = 0.5;
  • pause()方法可以暂停视频
  • currentTime属性可以设置视频播放位置
  • volume属性可以设置音量。 

3.分类切换 

<!DOCTYPE html>
<html lang="zh">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><script src="js/jquery-3.6.1.js"></script><style>#scroll-container {width: 100%;height: 30px;overflow: scroll;-webkit-overflow-scrolling: touch;}#scroll-content {white-space: nowrap;display: flex;align-items: center;padding: 0 20px;}.category {flex: 0 0 auto;margin-right: 20px;padding: 5px 10px;border-radius: 20px;background-color: #f0f0f0;cursor: pointer;}.category.active {background-color: #007bff;color: #fff;}</style><script src="js/jquery-3.6.1.js"></script>
</head>
<body><div id="scroll-container"><div id="scroll-wrap"><div id="scroll-content"><div class="category">分类1</div><div class="category">分类2</div><div class="category">分类3</div><div class="category">分类4</div><div class="category">分类5</div><div class="category">分类6</div><div class="category">分类7</div><div class="category">分类8</div><div class="category">分类9</div><div class="category">分类10</div></div></div></div><script type="text/javascript">var scrollContainer = $("#scroll-container");var scrollWrap = $("#scroll-wrap");var scrollContent = $("#scroll-content");$("#scroll-content").on("click", ".category", function() {var $this = $(this);// 判断点击的是不是可见视图的最后一个标题if ($this.is(":last-child")) {// 将最后一个标题移动到开头$this.prependTo($this.parent());// 将内容滚动到用户可见的页面上,确保移动到开头的标题出现在可见视图中var contentWidth = scrollContent.width();var visibleWidth = scrollWrap.width();var scrollLeft = scrollContent.scrollLeft();if (scrollLeft > contentWidth - visibleWidth) {scrollContent.scrollLeft(contentWidth - visibleWidth);}}});// 获取所有分类标题var categories = $(".category");// 给每个分类标题添加点击事件categories.on("click", function() {// 取消其他分类的选中状态categories.removeClass("active");// 选中当前分类,并滚动到它的位置$(this).addClass("active");var index = categories.index(this);scrollContent.stop().animate({scrollLeft: index * (this.offsetWidth + 20)}, 500);});</script>
</body>
</html>


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/255738.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Spring Boot的日志

打印日志 打印日志的步骤: • 在程序中得到日志对象. • 使用日志对象输出要打印的内容 在程序中得到日志对象 在程序中获取日志对象需要使用日志工厂LoggerFactory,代码如下: package com.example.demo;import org.slf4j.Logger; import org.slf4j.LoggerFactory;public c…

Arrays类练习 - Java

案例&#xff1a;自定义Book类&#xff0c;里面包含name和price&#xff0c;按price排序(从大到小)。要求使用两种方式排序&#xff0c;有一个 Book[] books 4本书对象。 使用前面学习过的传递实现Comparator接口匿名内部类&#xff0c;也称为定制排序。可以按照price (1)从大到…

temu缺货订单号在哪里查

在拼多多的商家后台管理系统Temu中&#xff0c;查找缺货订单号是非常重要的。及时了解缺货订单的情况&#xff0c;可以帮助商家更好地处理订单&#xff0c;提供良好的客户服务。本文将介绍在Temu中如何查找缺货订单号&#xff0c;以及处理缺货订单的步骤和注意事项。 先给大家推…

春风十里不如你——掌握Spring Boot的常用关键注解

引言 在Java的世界里&#xff0c;Spring Boot以其简化的配置和开箱即用的特性&#xff0c;成为了构建现代微服务和企业级应用的首选框架。Spring Boot的注解是这一切的核心。在本文中&#xff0c;我们将深入探讨最常用的Spring Boot注解&#xff0c;帮助你轻松驾驭Spring Boot…

Ubuntu宝塔面板本地部署Emlog个人博客网站并远程访问【内网穿透】

文章目录 前言1. 网站搭建1.1 Emolog网页下载和安装1.2 网页测试1.3 cpolar的安装和注册 2. 本地网页发布2.1 Cpolar临时数据隧道2.2.Cpolar稳定隧道&#xff08;云端设置&#xff09;2.3.Cpolar稳定隧道&#xff08;本地设置&#xff09; 3. 公网访问测试总结 前言 博客作为使…

微前端介绍

目录 微前端概念 微前端特性 场景演示 微前端方案 iframe 方案 qiankun 方案 micro-app 方案 EMP 方案 无界微前端 方案 无界方案 成本低 速度快 原生隔离 功能强大 总结 前言&#xff1a;微前端已经是一个非常成熟的领域了&#xff0c;但开发者不管采用哪个现…

【技术分享】利用双网口透传网关实现三菱FX3U PLC远程程序上下载监控

准备工作 一台可联网操作的电脑一台双网口的远程透传网关及博达远程透传配置工具网线两条&#xff0c;用于实现网络连接及连接PLC一台三菱 FX3U PLC及其编程软件一张4G卡或WIFI天线实现通讯(使用4G联网则插入4G SIM卡&#xff0c;WIFI联网则将WIFI天线插入USB口&#xff09; …

如何通过内网穿透实现无公网IP也能远程访问内网的宝塔面板

文章目录 一、使用官网一键安装命令安装宝塔二、简单配置宝塔&#xff0c;内网穿透三、使用固定公网地址访问宝塔 宝塔面板作为建站运维工具&#xff0c;适合新手&#xff0c;简单好用。当我们在家里/公司搭建了宝塔&#xff0c;没有公网IP&#xff0c;但是想要在外也可以访问内…

YOLOv5结合BiFPN,如何替换YOLOv5的Neck实现更强的检测能力?

一、BiFPN是什么&#xff1f; 1、什么是BiFPN BiFPN是一种基于特征金字塔网络&#xff08;FPN&#xff09;和双向特征金字塔网络&#xff08;BiFPN&#xff09;的对象检测神经网络结构&#xff0c;它被用于提高目标检测的准确度和速度。在目标检测领域&#xff0c;FPN用于将不同…

9. 使用Pthreads实现线程池(一)

背景 多线程的一个典型应用场景就是服务器的并发处理,如下图所示,多名用户向服务器发出数据操作的请求。为了提高并发性,我们可以在每收到一个用户请求时就创建一个线程处理相关操作。这种操作在请求数量较少时没有什么问题,但在请求数量很多时你会发现线程的创建和销毁所占…

单月创作15个10w+作品,内容创作迎来新浪潮

据11月16日腾讯发布的Q3财报显示&#xff0c;本季度视频号总播放量同比增长超过50%&#xff0c;原创内容播放量增长强劲&#xff0c;视频号作为微信生态内最具增长潜力的产品之一&#xff0c;已然成为腾讯营收新动力。 为帮助大家更好地洞察视频号平台的内容趋势及创作风向&…

安装you-get(mac)

1、首先要有python环境 2、更新pip python -m pip install --upgrade pip 3、安装you-get pip install you-get;