[H5]<video>自定义实现点击的时候暂停与播放效果

如图所示:需要实现的自定义效果是点击视频上的图标或者视频的时候实现暂停与播放
思路整理:
1.需要将图片定位到视频上
2.点击视频的时候,暂停图片显示,播放的时候图标隐藏
3.点击图片的时候,和第二步操作一致


字数省略1.png
HTML 注:由于我是写在react项目中,所以src的链接都是用require模块获取的,如果不是写在react项目中的话直接写路径就可以
 <div style={{ position: "relative"}}>
          //视频中心的暂停按钮图片
          <img
            id="videoPalse"
            src={[require("./../../assets/laterImg/index_icon_bofang@2x.png")]}
            alt=""
          /> 
          <video
            id="videoplay"
            poster={[require("./../../assets/laterImg/index_img_01@3x.png")]}
            src={[require("./../../assets/laterImg/westlake.mp4")]}
            type="video/mp4"
            playsInline={ true }   // 小屏播放
            webkit-playsinline="true"  // ios系统下小屏播放
            width="1" 
            height="1"
          />
</div>
css
video{
    width:100%;
    height:100%;
    object-fit:fill;
    border-radius: 5px;
}
/**视频中心暂停图片的样式**/
#videoPalse{
    position: absolute;
    z-index: 100;
    width:50px;
    top:25%;
    left:42%;
}
js
 //点击屏幕的时候暂停,并且图片隐藏,再次点击视频或者图片的时候播放
    let videoplay = document.getElementById("videoplay");
    if (videoplay) {
 //点击图片的时候暂停,并且使图片隐藏,再次点击视频或者图片的时候播放
      videoplay.onclick = function() {
        if (videoplay.paused) {
          videoplay.play();
          videoPalse.style.display = "none";   //播放的时候图标隐藏
        } else {
          videoplay.pause();
          videoPalse.style.display = "block";   //暂停的时候图标显示
        }
      };
    //对于ios系统播放完毕之后变黑的情况,在播放结束的时候所以要重新刷新一下src
    if(isiOS){
    //isiOS是我设置的变量判断ios系统的常量,如果需要判断条件可以评论或者私信我
      videoplay.addEventListener('ended', function (e) {
        // 播放结束时触发的时候使播放图标显示,同时播放完之后重新加载video的src
            videoPalse.style.display = "block"; 
            videoplay.src=require("./../../assets/laterImg/westlake.mp4");
            })
    }
     
    }
   //同样点击图标的时候也需要播放暂停,下面是对图标的处理
    let videoPalse = document.getElementById("videoPalse");    //video标签
    if (videoPalse) {
      videoPalse.onclick = function() {
        if (videoplay.paused) {     //点击视频的时候如果暂停状态,则让其播放
          videoplay.play();
          videoPalse.style.display = "none";
        } else {
          videoplay.pause();
          videoPalse.style.display = "block";
        }
      };
    }
注意:<video>标签播放的视频在不同的浏览器和手机中展示不同,对于谷歌浏览器手机模拟模式中上面的控制事件会生效,如果放在手机上:安卓系统小屏幕播放,播放的时候会显示controls控件层,自定义图标显示隐藏js不生效。对于ios系统,播放视频默认会大屏幕播放,自定义的图标显示隐藏的js控制同样不生效了,对于ios系统,处理禁止大屏幕播放事件之后图标的自定义控制就会生效,关于怎么禁止ios视频大屏幕播放事件会在我的下面文章中会进一步写
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,544评论 6 501
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,430评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,764评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,193评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,216评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,182评论 1 299
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,063评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,917评论 0 274
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,329评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,543评论 2 332
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,722评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,425评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,019评论 3 326
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,671评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,825评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,729评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,614评论 2 353

推荐阅读更多精彩内容