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


README

scroxt.js Overview

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

Installation

npm install --save scroxt

更新

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

Getting Started

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

demo

一、水平滾動

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

參數:

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

二、垂直滾動

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

參數:

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

三、視頻彈幕

...
<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參數:

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

scroxt.Barrage實例參數:

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

四-1、直播彈幕

...
<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:添加彈幕

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

火狐瀏覽器、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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM