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>


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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

北京市经信局局长姜广智带队调研三六零 强调大模型应与行业结合

12月6日&#xff0c;北京市经济和信息化局局长姜广智、副局长王磊带队走访调研三六零集团&#xff0c;就共促城市级数字安全基础设施项目落地&#xff0c;打造引领行业发展标杆项目&#xff0c;推动大模型落地应用赋能产业、行业发展等话题进行交流。360集团创始人周鸿祎接待来…

【FPGA】Quartus18.1打包封装网表文件(.qxp)详细教程

当我们在做项目的过程中&#xff0c;编写的底层Verilog代码不想交给甲方时怎么办呢&#xff1f;此时可以将源代码打包封装成网表文件&#xff08;.qxp&#xff09;进行加密&#xff0c;并且在工程中进行调用。 Quartus II的.qxp文件为QuartusII Exported Partition&#xff0c;…

探索 Linux Namespace:Docker 隔离的神奇背后

来自&#xff1a;探索云原生 https://www.lixueduan.com 原文&#xff1a;https://www.lixueduan.com/posts/docker/03-container-core/ 在 深入理解 Docker 核心原理&#xff1a;Namespace、Cgroups 和 Rootfs 一文中我们分析了 Docker 是由三大核心技术实现的。 今天就一起分…

C++多态(详解)

一、多态的概念 1.1、多态的概念 多态&#xff1a;多种形态&#xff0c;具体点就是去完成某个行为&#xff0c;当不同的对象去完成时会产生出不同的状态。 举个例子&#xff1a;比如买票这个行为&#xff0c;当普通人买票时&#xff0c;是全价买票&#xff1b;学生买票时&am…

【离散数学】——期末刷题题库(等价关系与划分)

&#x1f383;个人专栏&#xff1a; &#x1f42c; 算法设计与分析&#xff1a;算法设计与分析_IT闫的博客-CSDN博客 &#x1f433;Java基础&#xff1a;Java基础_IT闫的博客-CSDN博客 &#x1f40b;c语言&#xff1a;c语言_IT闫的博客-CSDN博客 &#x1f41f;MySQL&#xff1a…

漏洞复现-速达软件全系产品存在任意文件上传漏洞(附漏洞检测脚本)

免责声明 文章中涉及的漏洞均已修复&#xff0c;敏感信息均已做打码处理&#xff0c;文章仅做经验分享用途&#xff0c;切勿当真&#xff0c;未授权的攻击属于非法行为&#xff01;文章中敏感信息均已做多层打马处理。传播、利用本文章所提供的信息而造成的任何直接或者间接的…

12/07

#include "widget.h"Widget::Widget(QWidget *parent): QWidget(parent) {//设置面板框this->resize(1000,580); //设置尺寸大小this->setFixedSize(1000,580); //固定尺寸大小this->setWindowFlag(Qt::Frameles…

XC4060 40V降5V/3.3V 0.6A小电流高耐压芯片 适用于单片机供电输出、电池供电设备

XC4060器件是高效率&#xff0c;同步降压DC/DC稳压器。具有较宽的输入范围&#xff0c;它们适用于广泛的应用&#xff0c;例如来自非稳压源的功率调节。他们的特点是一个长距离(500mQ/300mQ2型) 内部开关的效率最高 (92%)。Sum od (非A选项)和PWM模式(A选项)&#xff0c;工作频…

IDEA maven无法下载源代码处理

1、使用idea内置maven 在idea中新增一个mvn运行项,截图如下: 输入命令: dependency:resolve -Dclassifiersources 2、如果外部maven&#xff0c;不使用idea内部maven 在工程目录下命令行执行命令: mvn dependency:resolve -Dclassifiersources

simulink中 Data store memory、write和read模块及案例介绍

目录 1.Data store memory模块 2.data store write模块 3.data store read模块 4.仿真分析 4.1简单使用三个模块 4.2 模块间的调用顺序剖析 1.Data store memory模块 向右拖拉得到Data store read模块&#xff0c;向左拉得到Data write模块 理解&#xff1a;可视为定义变量…

C++ 函数详解

目录 函数概述 函数的分类 函数的参数 函数的调用 函数的嵌套调用 函数的链式访问 函数声明和定义 函数递归 函数概述 函数——具有某种功能的代码块。 一个程序中我们经常会用到某种功能&#xff0c;如两数相加&#xff0c;如果每次都在需要用到时实现&#xff0c;那…

有了安卓模拟器,就能在Windows 10或11上像使用安卓操作系统一样使用安卓

你可以使用Android模拟器在Windows 11或Windows 10中运行Android应用程序。如果你喜欢的应用程序只在手机上运行,但你想在电脑上使用,这些模拟器会很有用。 BlueStacks 与整个操作系统模拟器不同,BlueStacks只在Windows上模拟Android应用程序。它真的很容易使用,所以你不需…

JVM虚拟机(已整理,已废弃)

# JVM组成 ## 简述程序计数器 线程私有&#xff0c;内部保存class字节码的行号。用于记录正在执行的字节码指令的地址。 线程私有-每个线程都有自己的程序计数器PC&#xff0c;用于记录当前线程执行哪个行号 ## 简述堆 ## 简述虚拟机栈 ## 简述堆栈区别 ## 方法内局部变量是…

高校需要哪些大数据实训平台?

当前&#xff0c;数据已成为重要的生产要素&#xff0c;大数据产业作为以数据生成、采集、存储、加工、分析、服务为主的战略性新兴产业&#xff0c;是激活数据要素潜能的关键支撑&#xff0c;是加快经济社会发展质量变革、效率变革、动力变革的重要引擎。 泰迪大数据实验…

❀My学习Linux命令小记录(16)❀

目录 ❀My学习Linux命令小记录&#xff08;16&#xff09;❀ 61.who指令 62.sleep指令 63.kill指令 64.top指令 65.diff指令 ❀My学习Linux命令小记录&#xff08;16&#xff09;❀ 61.who指令 功能说明&#xff1a;显示目前登录系统的用户信息。 &#xff08;ps.who命…

Docker-compose容器编排与容器监控

一、Docker-compose 1、概念&#xff1a; Docker-Compose 是 Docker 官方的开源项目&#xff0c;负责实现对Docker容器集群的快速编排。 2、作用&#xff1a; Docker-Compose可以管理多个Docker容器组成一个应用。需要定义一个yaml格式的配置文件 docker-compose.yml&#…

docker安装Postgres-XL集群及踩过的N个坑

说明&#xff1a;本文是在一个机器内部用docker创建了三台centos&#xff0c;然后构建的pgxl集群 文章目录 1. 学习docker2. 创建三台centos3. 安装SSH4. 创建新用户postgres5. 关闭防火墙 关闭selinux6. 配置免密登录7. 下载并传输Postgres-XL的源码8. 配置环境变量10. 安装11…

动态规划学习——最长回文子序列,让字符串变成回文串的最小插入次数

一&#xff0c;最长回文串 1.题目 给你一个字符串 s &#xff0c;找出其中最长的回文子序列&#xff0c;并返回该序列的长度。 子序列定义为&#xff1a;不改变剩余字符顺序的情况下&#xff0c;删除某些字符或者不删除任何字符形成的一个序列。 示例 1&#xff1a; 输入&…

视频剪辑实战:如何制作具有吸引力的画中画视频,批量剪辑技巧

随着社交媒体的兴起&#xff0c;视频制作已经成为一项重要的技能。在众多视频制作软件中&#xff0c;画中画视频备受瞩目。这种视频格式允许在同一个画面中展示两个或多个视频&#xff0c;使视频更具吸引力和创新性。这篇文章中&#xff0c;将讲解云炫AI智剪如何制作具有吸引力…

微三云胡佳东谈消费增值:重塑经济模式的未来趋势

消费增值&#xff1a;重塑经济模式的未来趋势 在当前的全球经济环境下&#xff0c;消费增值的概念正逐渐受到广泛的关注。这一模式的崛起&#xff0c;不仅仅是一种商业模式的创新&#xff0c;更代表着我们对经济运行的理解和探索在不断深化。本文将探讨消费增值模式的内涵&…