php+js实现弹幕,jquery.barrager.js-专业的网页弹幕插件

jquery.barrager.js是一款专业的网页弹幕插件。它支持显示图片,文字以及超链接。支持自定义弹幕的速度、高度、颜色、数量等。能轻松集成到论坛,博客等网站中。

由于IE9以下的IE浏览器不兼容CSS圆角,采用兼容样式,可单独设置弹幕的颜色,属性为old_ie_color,建议不要与网页主背景色相同。

b5f990597dde89240d13bb4bf9bff1a4.gif

使用方法

使用jquery.barrager.js弹幕插件需要在页面中引入jquery和jquery.parallux.min.js文件。

发布弹幕

弹幕文字为必选项,图片,链接如果为空则不显示。其它的可选项有默认值,弹幕具体配置如下代码。

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代码):

//数组里面可以自定义弹幕的所有属性。

$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;

}

}

});

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/563027.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python list index方法,Python List.index()方法

Python List index()方法Python index()方法返回传递的元素的索引。此方法接受一个参数并返回其索引。如果该元素不存在,则会引发ValueError。如果list包含重复元素,则返回第一个出现的元素的索引。此方法还使用了两个可选参数start和end,用于…

zend studio php 5.5,Zend Studio使用教程:在Zend Studio中调试PHP(5/5)

本教程将教会您如何调试文件和应用程序以便从您的PHP代码中获取最大的效率和准确性。Zend Studio的调试功能可以检查并诊断PHP代码在本地或远程服务器上的错误。调试器允许您通过设置断点、暂停启动的程序、单步调试代码和检查变量的内容来控制程序的执行。调试应该在您的脚本和…

memcached和php关系,php – memcacheD这没关系?

Is this code vulnerable to the expired cache race condition? How would you improve it?是.如果两个(或多个)并发客户端尝试从缓存中获取相同的密钥并最终从数据库中提取它.您将在数据库上出现峰值,并且数据库将在一段时间内处于高负载状态.这称为缓存标记.有几种方法可以…

php 如何单独刷新模板,反馈一个x-admin模板的问题,点击左侧栏不会刷新右侧栏当前页面的问题,并提供解决方案。...

在xadmin.js或者x-admin.js里面找到左侧菜单效果的函数,2.0版本的如下://左侧菜单效果// $(#content).bind("click",function(event){$(.left-nav #nav li).click(function (event) {if($(this).children(.sub-menu).length){if($(this).hasCl…

oracle 安装乱码,linux安装Oracle中文乱码问题汇总

解决oracle中文显示乱码有三层地方需要调整或者修改第一层:操作系统层1.首先查看linux是否有安装中文字符集,locale -a2.设置用户的中文字符集查看到linux安装了中文字符集,那么oracle用户下面要设置中文字符集vi /etc/locale.conf # centos7…

php 解析yaml,php yaml 解析 报错问题

今天用php写了一个简单的博客引擎,其中要用php yaml解析器,但是在使用的过程中遇到了这样的报错[09-Dec-2017 14:54:25 PRC] PHP Warning: yaml_parse(): end of stream reached without finding document 0 in /home/twikoizo/public_html/dev/core/mod…

oracle 00371,PLS-00371: 'WEB_LOGIN_CHECK_PK.CURSORTYPE' 最多允许有一个声明

Oracle 10.2.0.4 , 从其他地方导入过来的packages, 发现编译的时候报错。报错信息如下:PACKAGE BODY DPBG_WEB.WEB_LOGIN_CHECK_PKOn line: 11PLS-00371: WEB_LOGIN_CHECK_PK.CURSORTYPE 最多允许有一个声明package的spec 如下:CREATE OR REPLACE P…

oracle判断数据出现交叉,Oracle move table分析

在move操作的时候,进行的是block之间的数据copy,所以table所位于的block的区域会发生变化;所有行物理存储的顺序不会发生变化,但行号会变成按AAA增1的顺子,所以block里行会挪紧,实现了消除HWM和行碎片(包括…

php 路径有汉字,路径文字工具

大家可能会在视频上面看到一些不规则的字幕吧,比如:圆形、椭圆、波浪形等等,这些也叫做路径文字,就是在给视频添加字幕的时候,让文字按着自己描绘的路径来排列,这样就得到了路径文字。原理很简单&#xff0…

在toad新增oracle用户,利用toad发现oracle自动为你干了什么(表空间建立和用户建立)...

利用toad发现oracle自动为你干了什么(表空间建立和用户建立)Oracle:10.2.0.1Windows 2003一、表空间sql>Create tablespace dba datafile ‘D:\dba.dbf’ size 1M autoextend on maxsize 10M;-- DBA (Tablespace)--CREATE TABLESPACE DBA DATAFILED:\DBA.DBF SIZE 1M AUTOE…

linux依据时间过滤文件,详解Linux查找目录下的按时间过滤的文件

在维护项目中,有时会指定都一些条件进行过滤文件,并对该批文件进行操作;这时我们将使用shell命令进行操作;直接上代码#!/bin/sh#BEGIN#find ./ ! -name "." -type d -prune -o -newermt 2001-01-01 00:00:00 ! -newermt…

linux view查看日志命令,【Linux】linux查看日志文件内容命令tail、cat、tac、head、echo...

linux查看日志文件内容命令tail、cat、tac、head、echotail -f test.log你会看到屏幕不断有内容被打印出来. 这时候中断第一个进程Ctrl-C,---------------------------linux 如何显示一个文件的某几行(中间几行)从第3000行开始,显示1000行。即显示3000~3999行cat fi…

qq linux版本下载官网下载,腾讯QQ For Linux

安装帮助如何选择安装包?Linux QQ 目前支持x64(x86_64、amd64)、arm64(aarch64)、mips64(mips64el)三种架构,每种架构支持Debian系、红帽系、Arch Linux系、其它发行版中的一种或几种(未来可能继续扩充)。每一次发布均会提供架构和发行版的若干种组合支持…

linux ip隧道技术,linux之IP隧道配置

本文系统Centos6.0在这里我就不讲什么隧道、IP隧道技术了;lvs的三种模式也不说了我这里隧道说白了就是不同机房,不同公网IP,怎么让他们实现局域网的效果,配置同一网段的私网IP;可以实现互联互通;写这篇文章…

windows控制linux桌面图标,完全控制你的Windows桌面 (转)

完全控制你的Windows桌面 (转)[more]完全控制你的桌面对于Windows的桌面界面相信大家已经十分熟悉了,占据屏幕大半部分的是桌面,在上面排列的是桌面图标。任务栏一般位于桌面的下面,也可以在桌面其它边缘。在最左边是“开始按钮”&#xff0c…

windows查看linux文件中文,Linux 系统下无法查看Windows 中创建的中文文件名

标 题: Linux 系统下无法查看Windows 中创建的中文文件名我是Linux初学者,在网上搜索了很久,经过多次尝试仍然无法解决问题,只好在这里发贴请教了,还望各位高手指点一下。问题描述:Linux 系统下无法查看Windows 中创建…

arm-none-linux-gnueabi-gcc:未找到命令,“make: arm-none-linux-gnueabi-gcc:命令未找到”

Ubuntu12.04下编译飞凌嵌入式OK6410开发板提供的内核android2.3_kernel_v1.01-2012-09-23.tar已经执行export PATH/usr/local/arm/arm-none-linux-gnueabi/bin:$PATH,但还是出现如下问题make: arm-none-linux-gnueabi-gcc:命令未找到CHK include/lin…

linux 内核入口地址,linux内核的加载地址和入口地址

编译完内核之后,会产生zImage,而把它直接导入0x30008000,会出现Bad Magic Number.查明是需要将内核加一个0x40大小的头,由mkimage工具来添加.mkimage在编译u-boot时在u-boot-1.1.6/tools下生成,可以为编译的内核添加头信息的.在bootm命令中会解析这个头,…

linux脚本监控某一进程,linux监控某个进程的运行shell脚本

该脚本实现了对指定进程名的进程进行每隔2的扫描监控,一旦发现进程不存在便重新启动。#!/bin/sha10;while [[ a -gt 5 ]]; doif test $(pgrep -f $1|wc -l) -eq 2;thensh stop.shgnome-terminal -x sh start.sh &fi;sleep 2;done;总结:(1)&表示当…

kali linux conky配置文件,7个美丽的Conky配置为您的Linux桌面 | MOS86

现在,大多数Linux用户非常熟悉Conky包括多少人都没有今天我们Note:其中一些不仅仅是一个习惯。conkyrc文件。许多都配有专门的字体或附加软件,有些则作为更大的桌面主题的一部分打包。此处列出的所有配置都提供了到原始下载位置以及每个包的链接此外&…