字幕字體滾動插件——scroxt.js

README

scroxt.js Overview

scroxt.js是一個字體滾動的插件庫,包括視頻彈幕滾動,直播彈幕、直播彈幕強制模式、單行水平左右滾動、文本垂直滾動上下,用於簡單快捷生成滾動字體。性能優秀,經過CPU加速,緩存字體元素,幀運動,達到最流暢的效果。兼容Chrome、Firefox、Opera、IE9及IE9以上瀏覽器。javascript

Installation

npm install --save scroxt複製代碼

更新

2017.11.08 視頻彈幕增長播放,暫停,重播,快進,快退接口。詳細查看視頻彈幕css

Getting Started

你能很方便的使用插件用於字體滾動,scroxt是對一個對象,滾動方式不一樣對應不一樣的類名,像水平滾動的類名是Horizontal做爲scroxt的屬性,使用的時候只要new scroxt.Horizontal來生成滾動字體。這裏有詳細的例子 java

demogit

1、水平滾動

new scroxt.Horizontal({
    target: ".my-ele",
    data: ['第一條','第2條','第3條'],
    speed: -5
});複製代碼

參數:github

  • target:水平滾動字體的容器css選擇器
  • data:字體數組
  • speed: 滾動速度,單位幀移動的距離= speed * 0.1。speed的大小範圍爲 1-10

2、垂直滾動

new scroxt.Vertical({
    target: ".my-ele",
    data: ['第一條','第2條','第3條','第4條','第5條'],
    speed: 5
});複製代碼

參數:npm

  • target:垂直滾動字體的容器css選擇器
  • data:字體數組
  • speed: 滾動速度,speed的大小範圍爲 1-10。單位幀移動的距離= speed * 0.1。

3、視頻彈幕

...
<div class="scroll-box-barrage">
    <div class="scroxt-video-barrage">
        <video id="my-video" preload="auto" width="640" height="auto">
          <source src="http://14.215.100.242/v.cctv.com/flash/mp4video6/TMS/2011/01/05/cf752b1c12ce452b3040cab2f90bc265_h264818000nero_aac32-1.mp4" type='video/mp4'>
        </video>
    </div>
    <div class="play">播放</div>
    <div class="pause">暫停</div>
    <div class="fast-forward">快進</div>
</div>
<script type="text/javascript" src="./dist/js/scroxt.js"></script>
<script type="text/javascript">
    var scroxtBarrage = new scroxt.Barrage({
        video: "#my-video",
        dataTime: [{
            data:"第一條彈幕",
            time:1
        },{
            data:"第二條彈幕",
            time:3
        },{
            data:"第三條彈幕",
            time:2
        }]
    });
    //播放
    document.querySelector(".play").addEventListener("click",function(){
        scroxtBarrage.play();
    });
    //暫停
    document.querySelector(".pause").addEventListener("click",function(){
        scroxtBarrage.stop();
    });
    //前進5s
    document.querySelector(".fast-forward").addEventListener("click",function(){
        scroxtBarrage.moveInterval(5);
    });
</script>
...複製代碼

scroxt.Barrage參數:api

  • video:視頻標籤的css選擇器
  • dataTime:彈幕數組,數組每一項由data和time字段組成,data是每條彈幕的內容,time是彈幕出現的時間/秒單位(video播放的時間);

scroxt.Barrage實例參數:數組

  • play(): 開始播放
  • stop(): 暫停播放
  • restart(): 從新播放
  • moveInterval(s): 快進s秒
  • moveInterval(-s): 後退s秒

四-一、直播彈幕

...
<div class="scroll-box-barrage">
    <div class="scroxt-video-barrage" style="width: 100%;">
        <img class="video-bg" src="./img/bg.png" style="width: 100%;height: auto;display: block;vertical-align: middle;">
    </div>
</div>
<script type="text/javascript" src="./dist/js/scroxt.js"></script>
<script type="text/javascript">
var scroxtLive = new scroxt.Live({
    target: ".scroxt-video-barrage",
});
var i = 0;
setInterval(function(){
    i++;
    scroxtLive.addBarrage(i+"你好啊")
},100)
//用戶本身發的彈幕
setTimeout(function(){
    scroxtLive.addBarrage("一一一一一一一一一一",true)
},3000);
</script>
...複製代碼

參數:瀏覽器

  • target:目標容器元素
    方法:
  • addBarrage:添加彈幕

四-二、直播彈幕兼容低版本的瀏覽器

火狐瀏覽器、IE9如下、瀏覽器操做元素滾動達到必定數量會出現嚴重掉幀的狀況。因此在強制模式下,插件控制彈幕數量(屏幕最多65條彈幕)。但用戶本身看到的彈幕不能缺失,當用戶本身發彈幕時,經過給addBarrage方法傳第二個參數true,只在用戶本身電腦上出現彈幕,已達到欺騙的目的。api以下:緩存

<script type="text/javascript">
var scroxtLive = new scroxt.Live({
    target: ".scroxt-video-barrage",
    strongLock:true
});

//用戶本身發的彈幕
setTimeout(function(){
    scroxtLive.addBarrage("一一一一一一一一一一",true)
},3000);
</script>複製代碼

聯繫做者:qq-1737752975

相關文章
相關標籤/搜索