我怎样才能让一个html视频播放一次,直到页面重新加载

2024-01-25

超级黑客!

所以我尝试并搜索了几个小时,但似乎无法找到解决方案。在我的页面上,当用户滚动到页面的某个点时,我将其设置为自动播放视频的位置。它效果很好,但我发现视频一遍又一遍地循环很烦人。我只希望视频只播放一次,直到用户重新加载页面或访问新页面并返回。然后视频可以再次播放。这就是我得到的!

HTML:

<video id="vid" width="400">
      <source src="assets/img/me.mp4" type="video/mp4">
        Your browser does not support HTML5 video. Please update your browser.
</video>

JavaScript:

$(window).scroll(function(){
    var myVideo = document.getElementById("vid");
    // console.log($(window).scrollTop());
    if($(window).scrollTop() > 300 && $(window).scrollTop() < 975){
        myVideo.play();
    }else{
            myVideo.pause();
    }
})

没什么特别的,非常简单。我知道循环有一个名为“loop”的 html5 属性,我不知道这是否是我的答案?在一些 HTML5 文档中看到循环属性和值 0 似乎是我正在寻找的?但不知道该怎么做?

值 0(默认):视频仅播放一次。

值 1:视频将循环播放(永远)。

预先感谢女士们先生们!我真的很感激你的时间。


默认值loop属性是false,所以不,这不是你的解决方案。

你的问题是你会打电话play()每次满足您的要求(滚动位置)时。

您需要的是检查视频是否已经播放,如果没有,则播放视频。
值得庆幸的是,有一个played https://developer.mozilla.org/en/docs/Web/HTML/Element/video#attr-playedvideo 元素上的属性将返回“指示已播放视频的所有范围的时间范围”。

所以你可以很容易地做到这样:

$(window).scroll(function(){
    var myVideo = document.getElementById("vid");

    if($(window).scrollTop() > 300 && $(window).scrollTop() < 975){
       if(myVideo.played.length === 0 )
          myVideo.play();
    }else{
            myVideo.pause();
    }
})

但正如您所注意到的,它只会播放视频一次,但在您暂停后不会重新开始播放,即使未到达结尾也是如此。
那么这种情况的解决方案就是在上面绑定一个flagonended视频事件:

// first attach the flag in the onended event
$('#vid').on('ended', function(){this.playedThrough = true;});

$(window).scroll(function(){
    var myVideo = document.getElementById("vid");

    if($(window).scrollTop() > 300 && $(window).scrollTop() < 975){
       // only if we didn't reached the end yet
       if(!myVideo.playedThrough)
          myVideo.play();
    }else{
       myVideo.pause();
    }
 })
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

我怎样才能让一个html视频播放一次,直到页面重新加载 的相关文章

  • 我怎样才能让这个脚本在 WordPress 上运行?

    我有这个脚本 document ready function text1 click function this hide 代码html div class div1 p class text1 text to appear when th
  • 如何使 d3 饼图响应式?

    我有一个 PIE 图表 它工作正常 但我无法使其具有响应能力和可调整大小 我需要它与移动浏览器和 iPad 等兼容 div div
  • 设置双指缩放时精确的滚动位置

    我正在创建一个地图应用程序 它将标记图像放置在画布上并滚动到它 我正在使用浏览器的捏缩放和滚动来放大 缩小地图 然而 我注意到有一些奇怪的行为 我想知道如何解决它 这有点难以解释 但我们开始吧 假设您处于网页的标准缩放级别 无法进一步缩小
  • 检测 Google 验证码的挑战窗口何时关闭

    我正在使用谷歌隐形验证码 有没有办法检测挑战窗口何时关闭 我所说的挑战窗口是指您必须选择一些图像进行验证的窗口 目前 我在按钮上放置了一个旋转器 一旦单击按钮 就会呈现验证码挑战 无法向用户提示另一个质询窗口 我以编程方式调用渲染函数 gr
  • 更改API数据输出的布局

    我是 API 集成和 PHP 的新手 我最近将 VIN 解码器集成到我的应用程序中 在输入框中输入车辆的 VIN 选择提交 然后就会显示 API 数据库中有关该车辆的所有信息 数据存储为关联数组 其中包含类别及其相应元素 例如 对于 VIN
  • 如何在 select 和 option 标签中添加 JSON 数据?

    我有这个html代码 div class searchfilter div class searchwrapper div div
  • 检索 css3 缩放元素的宽度/高度

    我正在与 offsetWidth 属性的奇怪之处 我认为 作斗争 这是场景 比方说 我有一个span标签 在我的js中 在某个时刻我执行css3转换 对于这个元素 例如 el set styles transform scale scale
  • 如何在 Web 服务器上设置 gzip 压缩?

    我有一个嵌入式网络服务器 总共有 2 兆空间 通常 您使用 gzip 文件对客户端有利 但这会节省我们在服务器上的空间 我读到你可以只 gzip js 文件并将其保存在服务器上 我在 IIS 上测试过 但没有任何运气 为了使这项工作成功 我
  • webpack中动态加载外部模块失败

    我正在尝试建立以下架构 一个核心 React 应用程序 它具有一些基本功能 并且能够在运行时加载其他 React 组件 这些额外的 React 组件可以按需加载 并且它们在构建核心应用程序时不可用 因此它们不能包含在核心应用程序的捆绑包中
  • 如何将 Vue.js 作用域样式应用于通过视图路由器加载的组件?

    如何将 Vue js 作用域样式应用于通过以下方式加载的组件
  • javascript 是否有等效的 __repr__ ?

    我最接近Python的东西repr这是 function User name password this name name this password password User prototype toString function r
  • 呃!尝试将包发布到 npm 时出现 403

    我正在尝试将包发布到 npm 您可以在此处查看存储库 https github com biowaffeln mdx state https github com biowaffeln mdx state 我登录到 npmnpm login
  • 适用于移动设备的响应式订单确认电子邮件?

    我从未见过令人惊叹的订单确认 发票电子邮件 即使是最好的 html5 网站也会发送糟糕的订单确认电子邮件 有时是纯文本 我相信这是因为发票通常需要使用表格来显示购买的物品 这在移动设备上实现起来非常困难 我发现了一些让手机上的表格更易于管理
  • 类中可以有生成器 getter 吗?

    我的意思是吸气剂是发电机 我相信这一切都是 ES6 也许像这样 class a get count let i 10 while i yield i let b new a for const i of b count console lo
  • Javascript 浮点乘以 100 仍然有错误

    我有一个货币字段的文本输入 我在字段中输入 33 91 并在尝试使用 乘以 100 技术时得到以下结果 var curWth parseInt trans withdraw index val 100 3390 var curWth par
  • 扩展 RegExp 以获取文件扩展名

    我知道 已经有很多基于 RegExp 的解决方案 但是我找不到适合我需求的解决方案 我有以下函数来获取 URL 的各个部分 但我还需要文件扩展名 var getPathParts function url var m url match w
  • ChartJs:如何按时间值(而不是像素)以编程方式平移

    我使用的是chartJs 3 6 1 和 Chartjs plugin zoom 1 2 1 但我认为这并不重要 我有 2 个时间序列折线图 当我通过拖放平移一个图表时 我也想移动 平移另一个图表 为此 我为 graphA 启用了缩放 平移
  • Bootstrap 导航栏与 Google 位置重叠自动完成下拉菜单

    我有一个导航栏 我试图在其中添加一个地点搜索框 除了谷歌位置提示框的一小部分被导航栏重叠 如下图所示 之外 一切几乎都有效 我尝试过改变z index输入框的值改为10或2000或90000但似乎没有效果 我还缺少其他需要做的事情吗 这是
  • MongoDB:javascript执行失败:无法在 src/mongo/shell/collection.js 保存 DBQuery 对象

    在 MongoDb 中 当我尝试修改集合中的现有文档时 它会生成以下异常 javascript execution failed can t save a DBQuery object at src mongo shell collecti
  • 如何映射轮播的子项数组?

    我正在尝试将 Carousel 组件包装在映射对象数组周围作为组件的子级 目前我只能让映射创建映射对象的 1 个子对象 轮播需要像这样

随机推荐

  • 单个 TextView 中的多个 TypeFace

    我想将第一个字符设置为TextView with a TypeFace以及具有不同类型面孔的第二个角色 依此类推 我读过这个例子 Spannable str Spannable textView getText str setSpan ne
  • 在 Symfony2 中测试文件上传

    在 Symfony2 文档中 它给出了一个简单的示例 client gt request POST submit array name gt Fabien array photo gt path to photo 模拟文件上传 然而 在我的
  • JPA - 我可以使用 @DiscriminatorValue 创建一个没有自己的表的实体类吗?

    我使用带有联合继承的 JPA 和如下所示的数据库结构 ACTION ACTION ID ACTION MAPPING ID ACTION TYPE DELIVERY CHANNEL ACTION ACTION ID CHANNEL ID O
  • WPF 交互触发器在样式中调用视图模型上的命令[重复]

    这个问题在这里已经有答案了 可能的重复 如何在样式设置器中添加混合行为 https stackoverflow com questions 1647815 how to add a blend behavior in a style set
  • 您可以使用类 C 语言对 FPGA 进行编程吗? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 在大学里 我用类似 C 的语言编写了 FPGA 不过 我也知道人们通常使用 Verilog 或 VHD
  • 静态类必须从对象派生 (C#)

    我在 C 中遇到问题 输出状态为 Error 1 Static class WindowsFormsApplication1 Hello2 cannot derive from type System Windows Forms Form
  • Celery AttributeError:异步错误

    我在 Mac OS X 10 13 4 上本地运行 RabbitMQ 和 Celery 当我运行 add delay x y 时 以下代码在本地运行 usr bin env python from celery import Celery
  • SSH 和 -bash:fork:无法分配内存 VPS Ubuntu

    我在 Ubuntu 12 04 VPS Nginx Unicorn 上托管我的 Rails 应用程序 部署后一切正常 但几个小时后 当我 ssh 到 VPS 时 我收到此消息 bash fork Cannot allocate memory
  • 如何为谷歌地图设置自定义标记标题

    如何设置包含信息和按钮的样式自定义标记标题 片段 我已经有一个自定义标记图标图像集 现在我需要一个自定义弹出窗口 当用户点击标记时 该窗口将包含某些信息和一个按钮 这与我想要实现的目标很接近 自定义标题 片段示例 LatLng huduma
  • std::array 是可移动的吗?

    std array 是可移动的吗 In Bjarne Native 2012 演示幻灯片 http ecn channel9 msdn com events GoingNative12 GN12Cpp11Style pdf 幻灯片 41 列
  • 如何使用 firebug 检查 CSS 伪类?

    我正在与一种不情愿的挣扎a hover我无法覆盖的 css 样式 我尝试检查 Firebug 中的元素 但我不明白为什么它不起作用 我什至不知道如何正确检查a hoverFirebug 中的 CSS 事件 我见过 Firebug 中的悬停检
  • 错误:根:未找到哈希 md5 代码

    我在一台没有 root 访问权限的 Linux 机器上 我构建了自己的 openssl 和 python 本地副本 2 7 13 当我尝试在 python 中导入 hashlib 时 收到以下错误消息 gt python Python 2
  • 鼠标点击时 Div 隐藏/显示的问题

    我尝试了你的脚本 但它不能正常工作 我编辑了下面的代码以准确显示我正在使用的内容 非常感谢您的帮助 Quazi Hi 我对 JQuery 很陌生 我正在尝试获取一个 divfade in在点击事件之后然后hide单击任意位置后 我设置了三个
  • 什么是列存储索引以及与聚集索引和非聚集索引有何不同?

    我对列存储索引感到困惑 什么是列存储索引 它与聚集索引和非聚集索引有何不同 假设您有如下表col1作为主键 col1 PK col2 col3 1 2 3 4 5 6 普通索引将 按行 每行 存储 因此单个给定行的所有列都驻留在单个页面上
  • 如何在 IntelliJ Rider 中生成 API 控制器?

    在 Visual Studio 中 我可以通过选择 添加 在 Web API 项目中生成 API 控制器 控制器 从这个菜单中 我可以选择模型类 上下文类和控制器名称 并且按下按钮我可以生成数百行样板文件 我已转移到 IntelliJ Ri
  • GLSurfaceView.queueEvent不在GL线程中执行

    我正在尝试从我的主要活动中为我的 GLSurfaceView 执行一些 OpenGL 命令 由于 OpenGL 渲染器在它自己的线程中工作 我必须使用queueEvent 据我所理解 我正在打电话queueEvent在我的 GLSurfac
  • 计算 Spark 数据框中的单词数

    在不使用 SQL 的 REPLACE 函数的情况下 如何找到 Spark 数据帧的列中的单词数 下面是我正在使用的代码和输入 但 Replace 函数不起作用 from pyspark sql import SparkSession my
  • JQuery Flippy 插件未在点击事件上触发

    我有一个小问题flippy带有 jQ uery Flippy 插件的插件标签http blog guilhemmarty com flippy http blog guilhemmarty com flippy 我有一个 divp tag
  • 在内部类中执行main方法[重复]

    这个问题在这里已经有答案了 如果 main 方法存在于静态内部类中 如何执行它 Main 方法存在于静态内部类中 我们需要执行该 main 方法 class A static class B public static void main
  • 我怎样才能让一个html视频播放一次,直到页面重新加载

    超级黑客 所以我尝试并搜索了几个小时 但似乎无法找到解决方案 在我的页面上 当用户滚动到页面的某个点时 我将其设置为自动播放视频的位置 它效果很好 但我发现视频一遍又一遍地循环很烦人 我只希望视频只播放一次 直到用户重新加载页面或访问新页面