H5+JS视频列表

news2024/11/13 11:19:54

源码在最后面 好像有些浏览器不适配(可能是设置了禁用自动播放的功能)

实现功能

  1. 视频自动无声播放
  2. 鼠标置于某个视频板块之上时自动无声播放
  3. 点击视频跳转视频链接

效果图(部分 视频加载可能有点慢)

a8b31520395044a5b2004e9697fab8eb.jpg

 部分功能实现原理

1.无声播放 (Muted Playback)

无声播放是指在播放媒体文件时不播放任何音频。在HTML5中,可以通过<audio><video>标签的muted属性来实现这一功能。

<video src="myVideo.mp4" controls muted></video>

2.自动播放 (Autoplay)

自动播放是指在页面加载后立即开始播放媒体文件,无需用户点击播放按钮。为了提高用户体验并遵守浏览器的安全策略,不同的浏览器对自动播放有不同的限制。在有些情况下,自动播放是被禁用的。

<video src="myVideo.mp4" autoplay controls></video>

当然也可以使用JavaScript来动态设置这些属性

const video =document.querySelector('video');

video.muted = true;       //设置静音播放为真

video.autoplay = true;    //设置自动播放为真

video.play();

完整源代码

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>XX视频网站</title>
    <style>
        body {
            font-family: 'Microsoft JhengHei', sans-serif;
            margin: 0;
            padding: 0;
            background-color: #f0f0f0;
        }

        .top-bar {
            background-color: red;
            color: white;
            text-align: center;
            padding: 20px 0;
            font-size: 24px;
            font-weight: bold;
        }

        .video-grid {
            display: flex;
            justify-content: center;
            flex-wrap: wrap;
            gap: 20px;
            padding: 20px;
        }

        .video-item {
            position: relative;
            width: calc(33.33% - 20px);
            height: 0;
            padding-bottom: 56.25%;
            box-shadow: 0 4px 8px rgba(0,0,0,0.1);
            overflow: hidden;
            cursor: pointer;
            transition: transform 0.3s ease-in-out;
        }

        .video-item:hover {
            transform: translateY(-10px);
        }

        .video-item video {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            object-fit: cover;
            z-index: 1;
        }

        .video-title {
            position: absolute;
            bottom: 0;
            left: 0;
            width: 100%;
            background-color: rgba(0,0,0,0.5);
            color: white;
            font-size: 18px;
            font-weight: bold;
            padding: 10px;
            box-sizing: border-box;
            z-index: 2;
        }
    </style>
</head>
<body>
    <div class="top-bar">XX视频网站</div>
    <div class="video-grid">
        <div class="video-item" onclick="location.href='https://www.w3schools.com/html/mov_bbb.mp4';">
            <video src="https://www.w3schools.com/html/mov_bbb.mp4" autoplay loop muted></video>
            <div class="video-title">快乐小视频 1</div>
        </div>
        <div class="video-item" onclick="location.href='https://www.w3schools.com/html/mov_bbb.mp4';">
            <video src="https://www.w3schools.com/html/mov_bbb.mp4" autoplay loop muted></video>
            <div class="video-title">快乐小视频 2</div>
        </div>
        <div class="video-item" onclick="location.href='https://www.w3schools.com/html/mov_bbb.mp4';">
            <video src="https://www.w3schools.com/html/mov_bbb.mp4" autoplay loop muted></video>
            <div class="video-title">快乐小视频 3</div>
        </div>
        <!-- 更多行可以按照上面的模式重复 -->
    </div>

    <script>
        // 模拟鼠标悬停播放效果
        document.querySelectorAll('.video-item').forEach(item => {
            item.addEventListener('mouseover', () => {
                item.querySelector('video').play();
            });
            item.addEventListener('mouseout', () => {
                item.querySelector('video').pause();
            });
        });
    </script>
</body>
</html>

 

 

 

 

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

学习C语言第十六天(调试、)

调试 第一题 C 第二题 A 第三题 C 第四题 C 第五题 D release不可以调试 第六题 越界访问访问到了i的地址 编程题 模拟strcpy void my_strcpy(char*arr1,char*arr2) {while (*arr2){*arr1 *arr2;} } int main() {char arr1[50…

【足球走地软件】走地数据分析预测【大模型篇】走地预测软件实战分享

了解什么是走地数据&#xff1f; 走地数据分析&#xff0c;在足球赛事的上下文中&#xff0c;是一种针对正在进行中的比赛进行实时数据分析的方法。这种方法主要用于预测比赛中的某些结果或趋势&#xff0c;如总进球数、比分变化、球队表现等。 在足球走地数据分析中&#xf…

仕考网:公务员可以报考军队文职吗?

公务员可以报考军队文职考试&#xff0c;但是需要满足前提条件。 对于已经与国家、地方的用人单位建立劳动关系的社会人才&#xff0c;在获得当前用人单位的许可后才可以申请报考。 在面试过程中&#xff0c;考生必须出示一份由其用人单位出具的且加盖公章的同意报考证明。一…

C++: set容器

一、关联式容器 我们已经了解了STL中的部分容器&#xff0c;比如vector、list、deque等&#xff0c;这些容器被称为序列式容器&#xff0c;其底层为线性序列的数据结构&#xff0c;里面存储的是元素本身。 关联式容器也是用来存储数据的&#xff0c;与序列式容器不同&#xf…

Windows中启用Linux命令功能WSL,并安装Linux子系统

文章目录 一、WSL简介 二、启用WSL 三、参考文章 一、WSL简介 WSL&#xff08;Windows Subsystem for Linux&#xff0c;适用于 Linux 的 Windows 子系统&#xff09;允许用户直接在 Windows 上运行Linux 环境&#xff08;包括大多数命令行工具、实用程序和应用程序&#x…

汽车软件开发中的功能安全挑战与应对策略:基于Jira平台构建端到端的可追溯性,实现精细化需求管理

2024年7月18-19日&#xff0c;龙智携汽车软件开发及管理解决方案创新亮相2024 ATC汽车软件与安全技术周。龙智技术支持部负责人&Atlassian认证专家叶燕秀、龙智功能安全高级工程师景玉鑫在活动主会场联合发表了精彩演讲&#xff0c;分享推动汽车软件开发与功能安全的创新实…

硬核产品经理

链接&#xff1a;硬核产品经理 (qq.com)

DNS劫持实验

实验背景 利用ettercap进行DNS欺骗&#xff0c;攻击者冒充域名服务器&#xff0c;也就是把查询的IP地址设为攻击者 的IP地址&#xff0c;这样用户上网就只能看到攻击者设计的网页。 实验设备 一个网络 net:cloud0 一台模拟黑客主机 kali 一台靶机 windows 主机 实验拓扑 …

消息队列-rabbitmq(生产者.消费者. 消息.可靠性)

生产者者的可靠性 为了保证我们生产者在发送消息的时候消息不丢失&#xff0c;我们需要保证发送者的可靠性 1.生产者重试 假如发送消息的时候消息丢失 &#xff0c;我们可以使用发送者 重试机制&#xff0c;尝试重新发送消息 实现该机制非常简单&#xff0c;只需要在yml文…

The Llama 3 Herd of Models.Llama 3 模型第1,2,3部分全文

现代人工智能(AI)系统是由基础模型驱动的。本文提出了一套新的基础模型,称为Llama 3。它是一组语言模型,支持多语言、编码、推理和工具使用。我们最大的模型是一个密集的Transformer,具有405B个参数和多达128K个tokens的上下文窗口。本文对Llama 3进行了广泛的实证评价。我们…

系统架构师考点--系统架构设计(中)

大家好。今天继续总结一下系统架构设计的一些考点。 一、软件架构复用 软件产品线是指一组软件密集型系统&#xff0c;它们共享一个公共的、可管理的特性集&#xff0c;满足某个特定市场或任务的具体需要&#xff0c;是以规定的方式用公共的核心资产集成开发出来的。即围绕核…

CVPR 2024 最佳论文分享┆物体用体积表示:一种不透明固体图形的随机几何表示方法

本文详细介绍了一篇获得CVPR 2024最佳论文提名的论文《Objects as volumes: A stochastic geometry view of opaque solids》。该论文的作者为Bailey Miller等人。论文提出了一种新的理论框架&#xff0c;从随机几何学的角度解释和改进当前体积表示方法&#xff0c;即将不透明固…

OZON大健康热卖产品,OZON大健康产品有哪些

在俄罗斯&#xff0c;随着全球健康意识的提升&#xff0c;特别是在新冠疫情之后&#xff0c;人们对于增强免疫力和保持健康的关注度显著增加。这种趋势在俄罗斯尤为明显&#xff0c;其中天然食品补剂、家居清洁用品以及个人护理产品等大健康领域的产品需求激增。以下是根据当前…

线上红酒品鉴会:与专业人士面对面交流

在繁忙的现代生活中&#xff0c;我们时常渴望寻找一个安静的角落&#xff0c;与志同道合的朋友共同品味生活的美好。当红酒的醇香与线上交流的便捷相结合&#xff0c;一场别开生面的线上红酒品鉴会便应运而生。今天&#xff0c;让我们一同走进这场与专业人士面对面交流的线上红…

WSL for Windows

1、安装 超详细Windows10/Windows11 子系统&#xff08;WSL2&#xff09;安装Ubuntu20.04&#xff08;带桌面环境&#xff09;_wsl安装ubuntu20.04-CSDN博客https://blog.csdn.net/weixin_44301630/article/details/122390018 注意&#xff0c;安装之后首次启动 Ubuntu 时&…

当我们谈论前端性能时,我们在谈论什么

前端岗位内推来了 本文结合Google官方工具 Lighthouse 分析最新的前端页面性能评分标准&#xff0c;帮助大家更好地理解各种性能指标&#xff0c;以改进和优化相关前端项目。 前端页面性能一直是大家持续关注的话题&#xff0c;因为用户留存率与页面加载性能密切相关。根据Goog…

全球模块化机器人市场展望与未来增长机遇预测:未来六年CAGR为14.9%

在全球自动化和智能化水平提升的背景下&#xff0c;模块化机器人正成为市场的焦点。本文详细分析了全球模块化机器人市场的现状、增长趋势及未来前景&#xff0c;旨在为投资者和业内人士提供深入的市场洞察和指导。 市场概览 据恒州诚思团队研究分析显示&#xff0c;2023年&am…

zeal 开发者离线文档工具

zeal是一款程序开发者不可或缺的离线文档查看器 下载地址 官网地址&#xff1a; windows版csdn下载(开箱即用含)&#xff1a;https://download.csdn.net/download/xzzteach/89588765 已离线 Android.docset Apache_HTTP_Server.docset Bash.docset Bootstrap_4.docset Bootst…

QT6安装

我是直接使用 qt-online-installer-windows-x64-4.8.0.exe 安装包一键安装的 需要安装包的可以在此路径下载&#xff1a; qt-online-installer-windows-x64-4.8.0.exe&#xff0c;qt6一键安装包资源-CSDN文库

C#编写软件发布公告2——服务端

简单说明 框架&#xff1a;.NET 6.0 MVC 数据库&#xff1a;sqlLite3(当然这是为考虑本地数据简单&#xff0c;可以考虑使用大型数据库) 一、界面效果展示 1、启动主页面 2、记录摘要界面 3、对应版本详细 二、实现代码逻辑 1、启动主页面 //关联日志文件写 builder.Loggi…