jquery.barrager.js是一款专业的网页弹幕插件。它支持显示图片,文字以及超链接。支持自定义弹幕的速度、高度、颜色、数量等。能轻松集成到论坛,博客等网站中。
由于IE9以下的IE浏览器不兼容CSS圆角,采用兼容样式,可单独设置弹幕的颜色,属性为old_ie_color
,建议不要与网页主背景色相同。
使用方法
使用jquery.barrager.js弹幕插件需要在页面中引入jquery和jquery.parallux.min.js文件。
<script src="js/jquery.min.js"></script> <script src="dist/jquery.barrager.js"></script>
发布弹幕
弹幕文字为必选项,图片,链接如果为空则不显示。其它的可选项有默认值,弹幕具体配置如下代码。
var item={ img:'static/heisenberg.png', //图片 info:'弹幕文字信息', //文字 href:'http://www.yaseng.org', //链接 close:true, //显示关闭按钮 speed:6, //延迟,单位秒,默认6 bottom:70, //距离底部高度,单位px,默认随机 color:'#fff', //颜色,默认白色 old_ie_color:'#000000', //ie低版兼容色,不能与网页背景相同,默认黑色 } $('body').barrager(item);
清除所有弹幕
可以通过removeAll()
方法来清除所有的弹幕。
$.fn.barrager.removeAll();
集成
通用后端代码
读取服务端有两种模式,适应于各种不同的场景:
- 1、实时读取,隔x秒请求一次接口,获取一条弹幕,发送。
- 2、一次读取完毕,隔x秒发送一条弹幕。
注意:json数据需要HTML 实体化以防止xss攻击。
第一种模式示范代码 server 端(php代码):
<?php //数组里面可以自定义弹幕的所有属性。 $barrages= array( array( 'info' => '第一条弹幕', 'img' => 'static/img/heisenberg.png', 'href' => 'http://www.yaseng.org', ), array( 'info' => '第二条弹幕', 'img' => 'static/img/yaseng.png', 'href' => 'http://www.yaseng.org', 'color' => '#ff6600' ), array( 'info' => '第三条弹幕', 'img' => 'static/img/mj.gif', 'href' => 'http://www.yaseng.org', 'bottom' => 70 , ), array( 'info' => '第四条弹幕', 'href' => 'http://www.yaseng.org', 'close' =>false, ), ); //随机输出一个 echo json_encode($barrages[array_rand($barrages)]);
浏览器端获取json弹幕数据,通过setInterval()
来调用,如有弹幕,就显示。 代码如下:
//每条弹幕发送间隔 var looper_time=3*1000; //是否首次执行 var run_once=true; do_barrager(); function do_barrager(){ if(run_once){ //如果是首次执行,则设置一个定时器,并且把首次执行置为false looper=setInterval(do_barrager,looper_time); run_once=false; } //获取 $.getJSON('server.php?mode=1',function(data){ //是否有数据 if(data.info){ $('body').barrager(data); } }); }
第二种模式示范代码。 server 端 (php代码):
$barrages= array( array( 'info' => '第一条弹幕', 'img' => 'static/img/heisenberg.png', 'href' => 'http://www.yaseng.org', ), array( 'info' => '第二条弹幕', 'img' => 'static/img/yaseng.png', 'href' => 'http://www.yaseng.org', 'color' => '#ff6600' ), array( 'info' => '第三条弹幕', 'img' => 'static/img/mj.gif', 'href' => 'http://www.yaseng.org', 'bottom' => 70 , ), array( 'info' => '第四条弹幕', 'href' => 'http://www.yaseng.org', 'close' =>false, ), ); echo json_encode($barrages);
浏览器端代码:
$.ajaxSettings.async = false; $.getJSON('server.php?mode=2',function(data){ //每条弹幕发送间隔 var looper_time=3*1000; var items=data; //弹幕总数 var total=data.length; //是否首次执行 var run_once=true; //弹幕索引 var index=0; //先执行一次 barrager(); function barrager(){ if(run_once){ //如果是首次执行,则设置一个定时器,并且把首次执行置为false looper=setInterval(barrager,looper_time); run_once=false; } //发布一个弹幕 $('body').barrager(items[index]); //索引自增 index++; //所有弹幕发布完毕,清除计时器。 if(index == total){ clearInterval(looper); return false; } } });
- jquery.barrager.js弹幕插件项目主页:http://yaseng.github.io/jquery.barrager.js
- jquery.barrager.js弹幕插件github地址:https://github.com/yaseng/jquery.barrager.js
- jquery.barrager.js弹幕插件集成Discuz论坛地址:http://addon.discuz.com/?@uauc_barrager.plugin
- jquery.barrager.js弹幕插件WordPress集成:http://yaseng.org/jquery-barrager-js-for-wordpress.html
- jquery.barrager.js弹幕插件hexo集成:http://yaseng.org/jquery-barrager-js-for-hexo.html
版权声明
版权说明: 仅限用于学习和研究目的;不得将上述内容用于商业和非法用途!否则一切后果自负。我们非常重视版权问题,如有侵权请邮件至(171373236#qq.com)与我们联系处理,敬请谅解!