某网站的videojs的配置及操作
某网站的videojs的配置及操作
一、总结
一句话总结:
多参照参照别人的例子就好,省事
1、videojs如何获取用户当前视频的位置?
this.currentTime()
2、回到视频开始处?
player.currentTime(0);
二、内容在总结中
options={
playbackRates: [1,1.25,1.5,1.75,2],
controlBar: {
volumePanel: {
inline: false //默认是true,横着的
}
}
};
player=videojs('my-video',options);
player.ready(function() {
this.hotkeys({
volumeStep: 0.1,
seekStep: 5,
enableVolumeScroll: false,
enableModifiersForNumbers: false
});
});
player.on('ended',function(){
hourid=player.now_hourid;
if(nv>1){
oldposter=$('.video-js').attr('oldposter');
$('.vjs-poster').css({'background-image':oldposter});
$('#my-video_html5_api').attr({'poster':oldposter});
notice_go();
$('.fullscreen').appendTo('.video-js').show();
$('.vrepeat').appendTo('.video-js').show();
nv=vlogo;
}else{
ajaxvideo(hourid);
$('.vjs-poster').css({'background-image':'none'});
$('#my-video_html5_api').attr({'poster':''});
player.play();
}
});
player.on('play',function(){
if(nv==1){
$('.vjs-control-bar').hide();
}else{
$('.vjs-control-bar').show();
if(player.srecordok){
srecord();
}
}
notice_go();
});
player.on('pause',function(){
clearInterval(srobj);
});
//学习记录
function srecord(){
srobj=setInterval(function(){
cid='46';
hid=player.now_hourid;
run=player.currentTime();
$.post('/Online/srecord',{'cid':cid,'hid':hid,'run':run});
},5000);
}
player.on('timeupdate',function(){
uid="8063";
ctime=player.currentTime();
if(!uid){
if(ctime>=30){
this.pause();
notice_go();
$('.plogin,.fullscreen').show();
return false;
}
}
});
function notice_go(){
$('.buycourse,.readcourse,.plogin,.vrepeat,.flogin,.fullscreen,.srecord').hide();
}
function ajaxvideo(hourid){
clearInterval(srobj);
$.ajax({
type:'post',
url:'/online/getvideo',
data:{'hourid':hourid,'nv':nv,'md5_token':md5_token},
async:false,
dataType:'json',
success:function(free){
if(free.s=='1'){
nv++;
player.src({'src':free.m3,'type':'application/x-mpegURL'});
player.now_hourid=hourid;
player.srecordok=free.srecordok;
$('.vjs-playback-rate-value').html('1x');
$('.vjs-menu-item').removeClass('vjs-selected');
$('.vjs-menu-item').last().addClass('vjs-selected');
$('.chapter_hour_str').html(free.chapter_hour_str);
$('.l-footer').html(free.prev_next);
$('.readcourse').html(free.welcome);
$('.vrepeat').html(free.next_end);
}
ajax_free=free;
}
});
return ajax_free;
}
ajaxvideo(hourid);
$('.srecord .pvrepeat_replay').click(function(){
player.currentTime(srow_run);
player.play();
});
$('.srecord .vrepeat_next').click(function(){
player.currentTime(0);
player.play();
});
// 到达上次记录
if(srow_run){
$('.fullscreen').show();
$('.srecord').show();
}
$('.nofabu').click(function(){
alert('亲,该节视频还未更新,每周都会有更新的,敬请关注');
return false;
});
$('.filedown').click(function(){
id=this.id;
obj=$(this);
uid="8063";
player.pause();
if(uid){
$.ajax({
type:'post',
url:'/filedown',
data:{id:id},
async:false,
success:function(rst){
if(rst!='0'){
obj.attr({'href':rst});
compute();
}else{
notice_go();
$('.fullscreen,.buycourse').show();
}
}
});
}else{
notice_go();
$('.fullscreen,.flogin').show();
}
});
$('.rightvideoli').click(function(){
$('.rightvideoli').find('.mylearnhour1').css({'color':'#F78080'});
$('.rightvideoli').find('.gohour').css({'color':'#000'});
$('.rightvideoli').find('.mybackground').hide();
$(this).find('.mybackground').show();
$(this).find('.mylearnhour1,.gohour').css({'color':'#fff'});
});
$('.rightfileli').mouseenter(function(){
$('.rightfileli').find('.mylearnhour1').css({'color':'#F78080'});
$('.rightfileli').find('.filedown').css({'color':'#000'});
$('.rightfileli').find('.mybackground3').hide();
$(this).find('.mybackground3').show();
$(this).find('.mylearnhour1,.filedown').css({'color':'#fff'});
});
$('.rightfileli').mouseleave(function(){
$(this).find('.mybackground3').hide();
$('.rightfileli').find('.mylearnhour1').css({'color':'#F78080'});
$('.rightfileli').find('.filedown').css({'color':'#000'});
});
$('.nofabu').mouseenter(function(){
$('.nofabu').find('.mylearnhour2').css({'color':'#a8a8a8'});
$('.nofabu').find('.gohour2').css({'color':'#000'});
$('.nofabu').find('.mybackground2').hide();
$(this).find('.mybackground2').show();
$(this).find('.mylearnhour2,.gohour2').css({'color':'#fff'});
});
$('.nofabu').mouseleave(function(){
$(this).find('.mybackground2').hide();
$(this).find('.gohour2').css({'color':'#000'});
$('.nofabu').find('.mylearnhour2').css({'color':'#a8a8a8'});
});
$('body').delegate('.gohour,.return-prev,.return-next','click',function(){
hourid=$(this).attr('hourid');
sort=$(this).attr('sort');
nv=vlogo;
oldposter=$('.video-js').attr('oldposter');
$('.vjs-poster').css({'background-image':'url('+oldposter+')'});
$('#my-video_html5_api').attr({'poster':oldposter});
ajax_res=ajaxvideo(hourid);
menu_item(sort);
notice_go();
if(ajax_res.acl>0){
$('.fullscreen,.readcourse').finish().show();
$('.fullscreen,.readcourse').finish().fadeOut(2000);
}else{
$('.fullscreen,.buycourse').show();
}
});
$('body').delegate('.vp_next,.vrepeat_replay','click',function(){
hourid=$(this).attr('hourid');
sort=$(this).attr('sort');
nv=vlogo;
oldposter=$('.video-js').attr('oldposter');
$('.vjs-poster').css({'background-image':'url('+oldposter+')'});
$('#my-video_html5_api').attr({'poster':oldposter});
ajax_res=ajaxvideo(hourid);
menu_item(sort);
notice_go();
if(ajax_res.acl>0){
$('.fullscreen,.vrepeat').finish().show();
$('.fullscreen,.vrepeat').finish().fadeOut(2000);
}else{
$('.fullscreen,.buycourse').show();
}
});
menu_n="2";
menu_item(menu_n);
function menu_item(menu_n){
$('.rightvideoli').find('.gohour').css({'color':'#000'});
$('.rightvideoli').find('.mylearnhour1').css({'color':'#F78080'});
$('.rightvideoli').find('.mybackground').hide();
$('.rightvideoli').eq(menu_n-1).find('.gohour,.mylearnhour1').css({'color':'#fff'});
$('.rightvideoli').eq(menu_n-1).find('.mybackground').show();
}
某网站的videojs的配置及操作的更多相关文章
- 基于NopCommerce的开发框架——缓存、网站设置、系统日志、用户操作日志
最近忙于学车,抽时间将Nop的一些公用模块添加进来,反应的一些小问题也做了修复.另外有园友指出Nop内存消耗大,作为一个开源电商项目,性能方面不是该团队首要考虑的,开发容易,稳定,代码结构清晰简洁也是 ...
- CentOS 配置防火墙操作实例(启、停、开、闭端口):
CentOS 配置防火墙操作实例(启.停.开.闭端口): 注:防火墙的基本操作命令: 查询防火墙状态: [root@localhost ~]# service iptables status< ...
- Redis快速入门:安装、配置和操作
本文是有关Redis的系列技术文章之一.在之前的文章中介绍了<Redis快速入门:初识Redis>,对Redis有了一个初步的了解.今天继续为大家介绍Redis如何安装.配置和操作. 系列 ...
- 征服 Redis + Jedis + Spring (一)—— 配置&常规操作(GET SET DEL)
有日子没写博客了,真的是忙得要疯掉. 完成项目基础架构搭建工作,解决了核心技术问题,接着需要快速的调研下基于Spring框架下的Redis操作. 相关链接: 征服 Redis 征服 Redis + J ...
- CentOS 配置防火墙操作实例(启、停、开、闭端口)CentOS Linux-FTP/对外开放端口(接口)TomCat相关
链接地址:http://blog.csdn.net/jemlee2002/article/details/7042991 CentOS 配置防火墙操作实例(启.停.开.闭端口): 注:防火墙的基本操作 ...
- Redis:安装、配置、操作和简单代码实例(C语言Client端)
Redis:安装.配置.操作和简单代码实例(C语言Client端) - hj19870806的专栏 - 博客频道 - CSDN.NET Redis:安装.配置.操作和简单代码实例(C语言Client端 ...
- CentOS配置防火墙操作实例
CentOS 配置防火墙操作实例(启.停.开.闭端口): 注:防火墙的基本操作命令: 查询防火墙状态: [root@localhost ~]# service iptables status<回 ...
- SAP Parallel Accounting(平行分类账)业务配置及操作手册
目录 SAP Parallel Accounting(平行分类账业务)配置及操作手册 SAP Parallel Accounting(平行分类账业务)配置及操作手册 Overview 业务说明 为了适 ...
- SAP按销售订单生产和标准结算配置及操作手册
SAP按销售订单生产和标准结算配置及操作手册 http://blog.sina.com.cn/s/blog_6787c0b80101a3tl.html SAP按销售订单生产和标准结算配置及操作手册 S ...
随机推荐
- C# .NET 判断输入的字符串是否只包含数字和英文字母
FROM : https://www.cnblogs.com/ilookbo/p/4828722.html /// <summary> /// 判断输入的字符串是否只包含数字和英文字母 ...
- CountDownLatch和CyclicBarrier使用上的区别
一.CountDownLatchDemo package com.duchong.concurrent; import java.util.Map; import java.util.concurre ...
- AWS 消息服务(九)
松耦合架构 概述 使用独立的组件设计架构,降低相互依赖,当一个组件出现故障时,其他不受影响 利用ELB和SQS来打破传统服务器各层的关联,成为各层之间的中介,各层的故障和扩展均由中介自助处理 系统的耦 ...
- consul(一)什么是consul
1. consul的基本介绍 在分布式架构中,服务治理是一个重要的问题.在没有服务治理的分布式集群中,各个服务之间通过手工或者配置的方式进行服务关系管理,遇到服务关系变化或者增加服务的时候,人肉配置极 ...
- Caused by: java.lang.NullPointerException: Location is required
将 Parent root = FXMLLoader.load(getClass().getResource("xml/MainUI.fxml")); 改为: Parent roo ...
- Tomcat 服务器介绍和使用
服务器的概念和作用: 问题: 学习了 java 编程之后,java 代码的一个很重要的作用就是进行数据的处理,但是目前来说我们运行编写的代码,只有一次性,也就是运行完毕后,如果需要再次运行则需要再次手 ...
- 对spring的简单了解
对spring的简单了解 什么是spring Spring是一个开源框架,是为了解决企业应用开发的复杂性而创建的,同时Spring也是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架 特点 ...
- Eclipse控制台不限日志行数
在使用Eclipse时,如果控制台输出的内容比较多,控制台之前的内容就会消失,导致前面的控制台打印信息无法查看. 设置Eclipse的控制台属性 设置方法: 打开Eclipse的菜单栏:Window ...
- 关于JavaScript 基础总结
Dom:document object model 即文档对象模型 Bom: browser object model 即浏览器对象模型 文档对象模型即与文本密切相关,比如document.query ...
- hyperledger fabric超级账本java sdk样例e2e代码流程分析
一 checkConfig Before 1.1 private static final TestConfig testConfig = TestConfig.getConfig() ...