videojs 自定义控件样式

小白级别继续,大咖绕路javascript

这里只是在pc端搞里一下,不知道其余平台有什么问题,只是给你们个思路。css

videojs的优缺点什么的,这里就不说了,百度一下,各位大咖,一大啪啦的讲解,研究了两天始终不知道怎么去自定义控件,videojs 有一个专门设计皮肤的网站(传送法阵:https://codepen.io/heff/pen/EarCt),可是搞了半天仍是不懂怎么弄,最后在一篇文章中受到启发,其实很简单,暴力走起。html

先搞一张图java

好吧, 我认可,样式很low,这里就不吐槽设计了app

ok,上代码ide

myPlayer = videojs('my-video', {
        'controls': false,   //关闭原来的,否则hover的时候总出来
        'BigPlayButton': false,
        'loop': true
      },function(){
        var ctrlBar = createEle(); // 建立一个div节点
        this.el().appendChild(ctrlBar);  // 添加进去,css设置好样式就能够了
        // 初始化音量宽度
        var vol = this.volume();
        $('.vol-box .vol-on').width(vol * 100); 

        // 进度条自动前进
        this.on('timeupdate', function(){

          var curTime = this.currentTime();
          var durTime = this.duration();
          var w = (curTime/durTime * this.width()).toFixed(2);
          $('.progress>p').width(w);
          $('.progress>span').css('left', w + 'px');
        });
        // 播放
        this.play();
      });

     function createEle (){
      var _html = `
        <div class="progress">
          <P></p>
          <span></span>
        </div>
        <div class="ctrls clearfix">
          <div class="play-box fl">
            <img class="play-img" src="assets/images/vjs-play.png"/>
          </div>
          <div class="vol-box fr">
            <img src="assets/images/vjs-volumn.png"/>            
            <span class="vol-line"></span>
            <span class="vol-on"></span>
            <span class="vol-top-line"></span>
          </div>
        </div>
      `;
      var ctrlBar = document.createElement('div');
      ctrlBar.className = 'vjs-mycontrol-bar';
      ctrlBar.innerHTML = _html;
      return ctrlBar;
    }

好吧,貌似没什么难点,就是给你们一个思路,固然,官方推荐使用Component,这里就不去搞了,oop

想研究的同窗,参考一下这个文章 http://www.javashuo.com/article/p-mwbmrdtg-e.html 最后定制组件那节就能够了网站

相关文章
相关标签/搜索