西西木科技丨Shopify开发机构 2022-07-10 21:29 采纳率: 96.4%
浏览 90
已结题

用滑动控制视频播放进度

需要滑动到#video时视频开始播放,并且用滑动控制视频播放进度,下滑快进,上滑后退!!

<div style="width:100%;height:1000px;">
</div>

<div style="width:100%;height:1000px;">
</div>

<div style="width:100%;height:1000px;">
</div>

<div id="video">
    <video src="https://cdn.shopify.com/videos/c/o/v/93972f7b220a4c0aa2ed7b1df1730c00.mp4"></video>
</div>

<div style="width:100%;height:1000px;">
</div>

<div style="width:100%;height:1000px;">
</div>

  • 写回答

2条回答 默认 最新

  • 关注

    用滑动控制视频的currentTime 属性设置视频播放的当前位置(以秒计)即可
    参考

    播放进度,下滑快进,上滑后退代码如下:

    <!doctype html>
    <html lang="en">
    <head>
        <meta charset="UTF-8" />
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
        <title> 页面名称 </title>
    </head>
    <body>
    <div style="width: 300px;">
    
        <div style="width:100%;height:1000px;">
        </div>
         
        <div style="width:100%;height:1000px;">
        </div>
         
        <div style="width:100%;height:1000px;">
        </div>
         
        <div id="video">
            <video controls    style="width: 100%;" src="https://cdn.shopify.com/videos/c/o/v/93972f7b220a4c0aa2ed7b1df1730c00.mp4"></video>
        </div>
         
        <div style="width:100%;height:1000px;">
        </div>
         
        <div style="width:100%;height:1000px;">
        </div>
     
    </div>
    <script type="text/javascript">
        var topdv = 0; 
        window.addEventListener("scroll",function(event) {
            var video = document.querySelector("#video video");
            var r = video.getBoundingClientRect();
            var scrollTop = (document.documentElement.scrollTop || document.body.scrollTop);
            if (r.top>=0 && r.bottom<=window.innerHeight) {
                if (video.paused)
                    try {
                        video.play();
                    } catch(eo){}
                if (scrollTop>topdv && video.currentTime < video.duration) {
                    video.currentTime += 0.1;
                }
                if (scrollTop<topdv && video.currentTime > 0) {
                    video.currentTime -= 0.1;
                }
                topdv = scrollTop;
            } else {
                if (video.played)
                    try {
                        video.pause();
                    } catch(eo){}
            }
            
        });
    </script>
    </body>
    </html>
    

    如有帮助,请点击我的回答下方的【采纳该答案】按钮帮忙采纳下,谢谢!

    img

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 8月5日
  • 已采纳回答 7月28日
  • 创建了问题 7月10日

悬赏问题

  • ¥15 关于#vscode#的问题:ESP32开发板对接MQTT实现小灯泡的开关
  • ¥15 TMC2209串口模式下读取不到寄存器的值串口助手蓝色字体是发过去的消息,绿色字体是收到的消息,第二行发送读取寄存器的指令但是没有读取到寄存器的值串口助手如下图:接线如下图,如何解决?
  • ¥15 高通安卓11提取完整线刷包软件,或者优博讯dt50顺丰刷机包
  • ¥20 C,有个译码器,换了信道就跑不出原来数据
  • ¥15 MIMIC数据库安装问题
  • ¥60 基于JTag协议开发Fpga下载器上位机,哪位大🐂有偿指导?
  • ¥20 全书网Java爬取数据
  • ¥15 怎么获取红包封面的原始链接,并且获取红包封面序列号
  • ¥100 微信小程序跑脚本授权的问题
  • ¥100 房产抖音小程序苹果搜不到安卓可以付费悬赏