【问题标题】:HTML5 play pause video on image or video clickHTML5 在图像或视频点击上播放暂停视频
【发布时间】:2018-04-27 09:50:48
【问题描述】:

我的页面上有一个没有控件的 HTML5 视频。我在视频上使用图像(播放图标)。我希望视频可以在点击视频或图标图像时播放/暂停。

这是我尝试使用但不起作用的脚本:

如果我点击视频,它可以正常工作,同时如果我点击图标图像,则没有任何反应。

$(document).on('click', 'video', '#btnplay', function (e) {
        var video = $(this).get(0);
        if (video.paused === false) {
            video.pause();
            } else {
            video.play();
        }
        return false;
    });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
<div class="video-container">
  <video autoplay="autoplay" loop="loop" width="100%" height="auto" class="videohome"> Your browser does not support the video tag. <source src="images/video/video.mp4" type="video/mp4" /></video>
  <img id="btnplay" class="playbtn" src="images/play.png" alt="Play">
</div>

有什么建议吗? 提前致谢。

【问题讨论】:

    标签: javascript jquery html video


    【解决方案1】:
    $(document).on('click', 'video, #btnplay', function (e) {
            var video = $('video').get(0);  // This line has been updated.
            if (video.paused === false) {
                video.pause();
                } else {
                video.play();
            }
            return false;
        });
    

    说明:需要做两处改动,两个选择器放在一个逗号里,虽然我们点击了其中的任何一个,但还是得到了'video'元素作为参考,所以用$(this ).get(0) 我把它改成了 $('video').get(0) 所以我们要么点击图标,要么点击视频标签本身,它总是只指视频标签。

    【讨论】:

    • 感谢您的回复,但它不起作用,在这种情况下,点击视频也不会开始播放。
    • @DFD,再次更新了我的答案。请尝试一下。
    • 欢迎您@DFD,乐于助人。非常感谢您接受我的回答并投票。需要进行两项更改,将两个选择器放在一个逗号中,尽管我们单击其中任何一个,但获取“视频”元素以供参考,因此我将其更改为 $(this).get(0) 而不是 $('video').get(0) 所以我们要么点击图标或点击视频标签本身,它总是引用视频标签。
    猜你喜欢
    • 1970-01-01
    • 2012-05-06
    • 2014-07-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多