调整轮播图
This commit is contained in:
5
public/assets/index/js/jquery.min.js
vendored
Normal file
5
public/assets/index/js/jquery.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
308
public/assets/index/js/lightBox.js
Normal file
308
public/assets/index/js/lightBox.js
Normal file
@@ -0,0 +1,308 @@
|
||||
;(function($){
|
||||
|
||||
var lightBox = function(setting){
|
||||
|
||||
var self = this;
|
||||
this.obj = $('.js-lightBox') ;
|
||||
this.setting = setting;
|
||||
this.defaultSetting = {
|
||||
speed:'fast',
|
||||
scale: 0.8
|
||||
}
|
||||
$.extend(this.defaultSetting,this.getCustomSetting());
|
||||
this.groupArr = [];
|
||||
this.clear = false;
|
||||
this.groupName = null;
|
||||
this.bodyNode = $(document.body);
|
||||
this.popupMask = $("<div class='lightBox-popupMask'></div>");
|
||||
this.popup = $("<div class='lightBox-popup'></div>");
|
||||
this.settingDefaultImg();
|
||||
|
||||
//主要通过点击事件触发大部分效果
|
||||
this.obj.on('click', function(event) {
|
||||
event.preventDefault();
|
||||
event.stopPropagation();
|
||||
var currentGroup = $(this).attr('data-group');
|
||||
if(currentGroup != self.groupName){
|
||||
self.groupName = currentGroup;
|
||||
}
|
||||
//设置默认每次点击插入遮罩层与图片层的DOM结构
|
||||
self.defaultDOM();
|
||||
|
||||
//点击当前对象获取到所在的集合
|
||||
self.getImageGroup();
|
||||
|
||||
//(点击、左右切换)设置弹出图层的效果及图片的转换
|
||||
self.initLightBox($(this));
|
||||
|
||||
});
|
||||
};
|
||||
|
||||
lightBox.prototype = {
|
||||
//是否带有自定义设置
|
||||
getCustomSetting : function(){
|
||||
var setting = this.setting ;
|
||||
if(setting && setting != ''){
|
||||
return setting;
|
||||
}else{
|
||||
return {};
|
||||
}
|
||||
},
|
||||
//设置需要使用该效果的图片添加唯一的ID值
|
||||
settingDefaultImg : function (){
|
||||
var obj = this.obj;
|
||||
obj.each(function(i){obj.eq(i).attr('data-id',i)});
|
||||
},
|
||||
//实现左右切换
|
||||
goto : function(dir){
|
||||
var len = this.groupArr.length;
|
||||
if(dir==='prev'){
|
||||
var picSrc = this.groupArr[--this.index].src;
|
||||
this.loadCompletePicShow(picSrc);
|
||||
}else{
|
||||
var picSrc = this.groupArr[++this.index].src;
|
||||
this.loadCompletePicShow(picSrc);
|
||||
}
|
||||
},
|
||||
//过渡效果显示图片层的框
|
||||
showMaskAndPopu:function(src,id){
|
||||
var _this_ = this
|
||||
_scale_ = 1 ;
|
||||
this.winWidth = $(window).width();
|
||||
this.winHeight = $(window).height();
|
||||
this.lightBoxPic.hide();
|
||||
this.lightBoxDescription.hide();
|
||||
this.lightBoxPopupMask.fadeIn();
|
||||
this.lightPopup.fadeIn();
|
||||
|
||||
this.lightPopup.css({
|
||||
"width" : this.winWidth/4 ,
|
||||
"height" : this.winHeight/4 ,
|
||||
"marginLeft" : -(this.winWidth/4) / 2 ,
|
||||
"marginTop" : -this.lightPopup.height() - 8 ,
|
||||
}).animate({
|
||||
"marginTop" : (this.winHeight-this.lightPopup.height() + 8)/2
|
||||
},this.defaultSetting.speed,function(){
|
||||
_this_.loadCompletePicShow(_this_.src);
|
||||
})
|
||||
|
||||
},
|
||||
settingParmt : function(thisObj){
|
||||
//设置每个图片显示的信息
|
||||
this.src = thisObj.attr('src');
|
||||
this.title = thisObj.attr('data-title');
|
||||
this.lightBoxPic.attr('src',this.src);
|
||||
},
|
||||
//获取当前索引值
|
||||
getCurrentIndex : function(thisObj){
|
||||
var thisID = thisObj.attr('data-id'),
|
||||
index = 0;
|
||||
jQuery.each(this.groupArr,function(i,e){
|
||||
if(thisID == e.id){
|
||||
index = i;
|
||||
return false;
|
||||
}
|
||||
});
|
||||
return index;
|
||||
},
|
||||
loadPicShow : function(thisSrc,callback){
|
||||
var image = new Image();
|
||||
if(!!window.ActiveXObject){
|
||||
//兼容IE
|
||||
image.onreadystatechange = function(){
|
||||
if(this.readyState == "complete"){
|
||||
callback();
|
||||
}
|
||||
};
|
||||
}else{
|
||||
image.onload = function(){
|
||||
callback();
|
||||
};
|
||||
}
|
||||
image.src = thisSrc;
|
||||
},
|
||||
//主要展示图片的函数
|
||||
loadCompletePicShow : function (src){
|
||||
var _this_ = this ;
|
||||
this.lightBoxPic.css({"width":"auto","height":"auto"}).hide();
|
||||
//this.lightBoxDescription.hide();
|
||||
this.winWidth = $(window).width();
|
||||
this.winHeight = $(window).height();
|
||||
this.clear = true;
|
||||
|
||||
_this_.loadPicShow(src,function(){
|
||||
_this_.lightBoxPic.attr('src',src);
|
||||
var picWidth = _this_.lightBoxPic.width() * 2;
|
||||
var picHeight = _this_.lightBoxPic.height() * 2;
|
||||
|
||||
//判断所点击的图片是否需要左右按钮
|
||||
var groupArrLength = _this_.groupArr.length;
|
||||
if( groupArrLength>1 ){
|
||||
if(_this_.index === 0){
|
||||
_this_.lightBoxPrevBtn.addClass('disable');
|
||||
_this_.lightBoxNextBtn.removeClass('disable');
|
||||
}else if(_this_.index === groupArrLength-1){
|
||||
_this_.lightBoxNextBtn.addClass('disable');
|
||||
_this_.lightBoxPrevBtn.removeClass('disable');
|
||||
}else{
|
||||
_this_.lightBoxNextBtn.removeClass('disable');
|
||||
_this_.lightBoxPrevBtn.removeClass('disable');
|
||||
}
|
||||
}
|
||||
|
||||
//当图片大于浏览器窗口时按等比例方式显示
|
||||
if(picWidth > _this_.winWidth || picHeight > _this_.winHeight){
|
||||
_scale_ = Math.min(_this_.winWidth/(picWidth+12) * _this_.defaultSetting.scale , _this_.winHeight/(picHeight+12)* _this_.defaultSetting.scale);
|
||||
}else{
|
||||
_scale_ = _this_.defaultSetting.scale;
|
||||
}
|
||||
|
||||
picWidth = picWidth * _scale_;
|
||||
picHeight = picHeight * _scale_;
|
||||
//加载完毕图片展示的动画效果
|
||||
_this_.lightPopup.animate({
|
||||
"width" : picWidth -12 ,
|
||||
"height" : picHeight -12 ,
|
||||
"marginLeft" : -picWidth / 2 ,
|
||||
"marginTop" : (_this_.winHeight - picHeight ) /2 ,
|
||||
},function(){
|
||||
_this_.lightBoxPic.css({
|
||||
"width" : picWidth -12 ,
|
||||
"height" : picHeight -12 ,
|
||||
});
|
||||
|
||||
_this_.lightBoxTitle.text(_this_.groupArr[_this_.index].title);
|
||||
_this_.lightBoxCurrentIndex.text( (_this_.index + 1 ) + ' of ' + _this_.groupArr.length );
|
||||
_this_.lightBoxPic.fadeIn();
|
||||
_this_.lightBoxDescription.fadeIn();
|
||||
|
||||
});
|
||||
|
||||
});
|
||||
},
|
||||
//点击后需要促发的弹出框效果(并设置宽高)
|
||||
initLightBox:function(thisObj){
|
||||
var _this_ = this ,
|
||||
sourceSrc = thisObj.attr('src'),
|
||||
currentID = thisObj.attr('data-id');
|
||||
this.left = thisObj.offset().left ;
|
||||
this.top = thisObj.offset().top ;
|
||||
this.width = thisObj.width() ;
|
||||
this.height = thisObj.height() ;
|
||||
|
||||
this.settingParmt(thisObj);
|
||||
this.showMaskAndPopu(sourceSrc,currentID);
|
||||
this.index = this.getCurrentIndex(thisObj);
|
||||
},
|
||||
//默认的幻灯片弹出框设置
|
||||
defaultDOM : function(){
|
||||
var _this_ = this ;
|
||||
var _leftBtn_ = '<span class="lightBox-btn lightBox-prev-btn active"></span>',
|
||||
_rightBtn_ = '<span class="lightBox-btn lightBox-next-btn active"></span>',
|
||||
_btn_ = $('<div class="btn-position">').append(_leftBtn_,_rightBtn_);
|
||||
|
||||
this.lightBoxView = '<div class="lightBox-view">'+
|
||||
'<div class="lightBox-pic">'+
|
||||
'<img src="" >'+
|
||||
'</div>'+
|
||||
'<div class="lightBox-description">'+
|
||||
'<span class="lightBox-close"></span>'+
|
||||
'<p class="lightBox-title"></p>'+
|
||||
''+
|
||||
'</div>'+
|
||||
'</div>';
|
||||
|
||||
this.bodyNode.prepend(this.popupMask,this.popup);
|
||||
this.popup.html('').append(this.lightBoxView);
|
||||
|
||||
this.lightBoxPopupMask = this.bodyNode.find('.lightBox-popupMask');
|
||||
this.lightPopup = this.bodyNode.find('.lightBox-popup');
|
||||
this.lightBoxPic = this.lightPopup.find('.lightBox-pic > img');
|
||||
this.lightBoxClose = this.lightPopup.find('.lightBox-close');
|
||||
this.lightBoxTitle = this.lightPopup.find('.lightBox-title');
|
||||
this.lightBoxCurrentIndex = this.lightPopup.find('.lightBox-current-index');
|
||||
this.lightBoxDescription = this.lightPopup.find('.lightBox-description');
|
||||
this.lightBoxDescription.find('.lightBox-close').after(_btn_);
|
||||
this.lightBoxPrevBtn = this.lightPopup.find('.lightBox-prev-btn');
|
||||
this.lightBoxNextBtn = this.lightPopup.find('.lightBox-next-btn');
|
||||
|
||||
//关闭按钮事件
|
||||
this.lightBoxPopupMask.on('click',function(event){
|
||||
event.preventDefault();
|
||||
event.stopPropagation();
|
||||
$(this).fadeOut();
|
||||
_this_.lightPopup.fadeOut();
|
||||
_this_.clear = false;
|
||||
});
|
||||
|
||||
this.lightBoxClose.on('click',function(event){
|
||||
event.preventDefault();
|
||||
event.stopPropagation();
|
||||
_this_.lightPopup.fadeOut();
|
||||
_this_.lightBoxPopupMask.fadeOut();
|
||||
_this_.clear = false;
|
||||
});
|
||||
|
||||
//左右按钮Hover事件 与 点击事件
|
||||
this.lightBoxPrevBtn.on('click',function(event){
|
||||
if(!$(this).hasClass('disable')){
|
||||
event.preventDefault();
|
||||
event.stopPropagation();
|
||||
_this_.goto('prev')
|
||||
}
|
||||
})
|
||||
|
||||
//响应式设置
|
||||
var timer = null;
|
||||
$(window).resize(function(event) {
|
||||
/* Act on the event */
|
||||
if(_this_.clear){
|
||||
clearTimeout(timer);
|
||||
timer = setTimeout(function(){
|
||||
_this_.loadCompletePicShow(_this_.groupArr[_this_.index].src);
|
||||
},500)
|
||||
}
|
||||
|
||||
});
|
||||
document.onkeyup = function(e) {
|
||||
e = (e) ? e : window.event;
|
||||
if(e.key === "ArrowLeft" || e.keyCode === 37 ){
|
||||
_this_.lightBoxPrevBtn.click();
|
||||
}else if(e.key === "ArrowRight" || e.keyCode === 39){
|
||||
_this_.lightBoxNextBtn.click();
|
||||
}
|
||||
};
|
||||
this.lightBoxNextBtn.on('click',function(event){
|
||||
if(!$(this).hasClass('disable')){
|
||||
event.preventDefault();
|
||||
event.stopPropagation();
|
||||
_this_.goto('next')
|
||||
}
|
||||
})
|
||||
},
|
||||
//获取每个组别的所有对象
|
||||
getImageGroup : function(){
|
||||
var _this_ = this ;
|
||||
_this_.groupArr = [];
|
||||
this.bodyNode.find("[data-group='"+ this.groupName +"']").each(function(index, el) {
|
||||
|
||||
_this_.groupArr.push({
|
||||
"src":$(el).attr('src'),
|
||||
"title":$(el).attr('data-title'),
|
||||
"id":$(el).attr('data-id'),
|
||||
"group":$(el).attr('data-group'),
|
||||
"src":$(el).attr('src')
|
||||
});
|
||||
|
||||
})
|
||||
},
|
||||
};
|
||||
$.extend({
|
||||
LightBox :function(object){
|
||||
new lightBox(object);
|
||||
}
|
||||
});
|
||||
|
||||
window['lightBox'] = lightBox;
|
||||
|
||||
})(jQuery);
|
||||
534
public/assets/index/js/pingzi_video.js
Normal file
534
public/assets/index/js/pingzi_video.js
Normal file
@@ -0,0 +1,534 @@
|
||||
$(document).ready(function() {
|
||||
/*
|
||||
* pc端判断
|
||||
*/
|
||||
function IsPC() {
|
||||
var userAgentInfo = navigator.userAgent;
|
||||
var Agents = ["Android", "iPhone",
|
||||
"SymbianOS", "Windows Phone",
|
||||
"iPad", "iPod"
|
||||
];
|
||||
var flag = true;
|
||||
for(var v = 0; v < Agents.length; v++) {
|
||||
if(userAgentInfo.indexOf(Agents[v]) > 0) {
|
||||
flag = false;
|
||||
break;
|
||||
}
|
||||
}
|
||||
return flag;
|
||||
}
|
||||
/*
|
||||
* 随机数
|
||||
* */
|
||||
function _charecter() {
|
||||
var character = String.fromCharCode(Math.floor(Math.random() * 26) + "A".charCodeAt(0));
|
||||
return character;
|
||||
}
|
||||
/*
|
||||
* 补0
|
||||
*/
|
||||
function addzero(num) {
|
||||
if(num < 10) {
|
||||
return("0" + num);
|
||||
} else {
|
||||
return num;
|
||||
}
|
||||
}
|
||||
/*
|
||||
* 视频事件监听事件
|
||||
*
|
||||
* @eventName 视频事件名称
|
||||
* @m 视频对象
|
||||
* @fun 回调函数
|
||||
*
|
||||
*/
|
||||
var eventTester = function(eventName, m, fun) {
|
||||
if(window.addEventListener) {
|
||||
m.addEventListener(eventName, function() {
|
||||
if(fun) {
|
||||
fun(this);
|
||||
}
|
||||
//console.log((new Date()).getTime(),eventName);
|
||||
}, false);
|
||||
} else {
|
||||
m.attachEvent('on' + eventName, function() {
|
||||
if(fun) {
|
||||
fun(this);
|
||||
}
|
||||
// console.log((new Date()).getTime(),eventName);
|
||||
});
|
||||
}
|
||||
}
|
||||
/*
|
||||
* 视频播放
|
||||
*
|
||||
*/
|
||||
//视频播放
|
||||
$(".m-video").on("click", function() {
|
||||
if($(".video-box").length > 0) {
|
||||
return;
|
||||
}
|
||||
document.ondragstart = function() {
|
||||
return false;
|
||||
};
|
||||
window.onresize = function() {
|
||||
iteme = setTimeout(function() {
|
||||
if(!checkFull()) {
|
||||
//要执行的动作
|
||||
$("body").removeClass("noscroll");
|
||||
$(".video-box").removeClass("quanping");
|
||||
$(".video-fullscreen").find("i").removeClass("i-suoxiao").addClass("i-quanping");
|
||||
} else {
|
||||
$("body").addClass("noscroll");
|
||||
$(".video-box").addClass("quanping");
|
||||
$(".video-fullscreen").find("i").removeClass("i-quanping").addClass("i-suoxiao");
|
||||
}
|
||||
}, 0)
|
||||
}
|
||||
function checkFull() {
|
||||
var explorer = window.navigator.userAgent.toLowerCase();
|
||||
console.log(window.screen.width, window.outerWidth, window.screen.height, window.outerHeight)
|
||||
if(explorer.indexOf('chrome') > 0) { //chrome
|
||||
if((window.screen.width - window.outerWidth <= 17) && (window.screen.height - window.outerHeight <= 17)) {
|
||||
return true;
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
} else { //IE 9+ fireFox
|
||||
if(window.outerWidth == screen.width) {
|
||||
return true;
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function quanpin(elem) {
|
||||
if(IsPC()) {
|
||||
var elem = document.documentElement;
|
||||
} else {
|
||||
if(elem.paused && elem.networkState <= elem.HAVE_METADATA) {
|
||||
elem.play();
|
||||
setTimeout(function() {
|
||||
elem.pause();
|
||||
elem.webkitEnterFullScreen();
|
||||
return;
|
||||
}, 0);
|
||||
} else {
|
||||
elem.webkitEnterFullScreen();
|
||||
return;
|
||||
}
|
||||
}
|
||||
if(elem.requestFullscreen) {
|
||||
//"W3C";
|
||||
elem.requestFullscreen();
|
||||
} else if(elem.mozRequestFullScreen) {
|
||||
//FireFox
|
||||
elem.mozRequestFullScreen();
|
||||
|
||||
} else if(elem.webkitRequestFullScreen) {
|
||||
//Chrome等
|
||||
elem.webkitRequestFullScreen();
|
||||
|
||||
} else if(elem.msRequestFullscreen) {
|
||||
//IE11
|
||||
console.log(11);
|
||||
elem.msRequestFullscreen();
|
||||
}
|
||||
}
|
||||
|
||||
function exitquanping() {
|
||||
if(document.exitFullscreen) {
|
||||
|
||||
document.exitFullscreen();
|
||||
|
||||
} else if(document.mozCancelFullScreen) {
|
||||
|
||||
document.mozCancelFullScreen();
|
||||
|
||||
} else if(document.webkitCancelFullScreen) {
|
||||
|
||||
document.webkitCancelFullScreen();
|
||||
|
||||
} else if(document.msExitFullscreen) {
|
||||
|
||||
document.msExitFullscreen();
|
||||
|
||||
}
|
||||
}
|
||||
var menuarr;
|
||||
var menustr="";
|
||||
if($(this).attr("data-menu")){
|
||||
menuarr=$(this).attr("data-menu").split(" ");
|
||||
$(menuarr).each(function(k){
|
||||
menustr+="<li class='video-menu-item video-menu-item-"+k+" "+(k==0?"video-active":"")+"' >"+this+"</li>";
|
||||
})
|
||||
}
|
||||
|
||||
var datasrc = $(this).attr("data-src"),src='';
|
||||
var dangqian="";
|
||||
if(src.indexOf("mp4")<0&&$(this).attr("data-menu")){
|
||||
dangqian=menuarr[0];
|
||||
src = datasrc+dangqian+".mp4";
|
||||
}else{
|
||||
src = datasrc;
|
||||
}
|
||||
if(!src) {
|
||||
alert("未添加视频链接");
|
||||
}
|
||||
console.log(src);
|
||||
var menu=["<div class='video-definition video-tooltip '>",
|
||||
"<button class='video-button video-tooltip-toggle video-definition-button'>",
|
||||
"<span>"+dangqian+"</span>",
|
||||
"</button>",
|
||||
"<div class='video-tooltip-content'>",
|
||||
"<ul class='video-menu'>",
|
||||
menustr,
|
||||
"</ul>",
|
||||
"</div>",
|
||||
"</div>"];
|
||||
if(!$(this).attr("data-menu")){
|
||||
menu=[]
|
||||
}
|
||||
var vClass = $(this).attr("data-heibian") ? "heibian" : "";
|
||||
var videoid = "my" + _charecter() + _charecter();
|
||||
var iteme = null;
|
||||
var str = ["<div class='video-box " + vClass + "' id='" + videoid + "box'>",
|
||||
"<div class='video-bg'></div>",
|
||||
"<div class='video-loading-pulse'></div>",
|
||||
"<div class='video-close'></div>",
|
||||
"<div class='video-container f-czspjuzhong'>",
|
||||
"<div class='video-div'>",
|
||||
"<div class='video-video'>",
|
||||
"<video id=" + videoid + " x-webkit-airplay='' playsinline='' webkit-playsinline='' ",
|
||||
"src='" + src + "'",
|
||||
">",
|
||||
"</video>",
|
||||
"</div>",
|
||||
"<div class='video-bofang f-czspjuzhong '> <i class='i i-bofang '></i></div>",
|
||||
"<div class='video-loading yihuanchun f-czspjuzhong'> <i class='i i-loading '></i></div>",
|
||||
"<div class='video-ui'>",
|
||||
"<div class='video-progress'>",
|
||||
"<div class='video-tooltip video-tinytip video-tooltip-time'>",
|
||||
"<button class='video-tooltip-toggle'>",
|
||||
"<span class='video-tooltip-value'></span>",
|
||||
"</button>",
|
||||
"<div class='video-tooltip-content'>",
|
||||
"<div class='video-tinytip-content'>",
|
||||
"<span class='video-text'></span>",
|
||||
"</div>",
|
||||
"</div>",
|
||||
"</div>",
|
||||
"<div class='video-progress-padding'></div>",
|
||||
"<div class='video-progress-list'>",
|
||||
"<div class='video-progress-buffer'></div>",
|
||||
"<div class='video-progress-hover'></div>",
|
||||
"<div class='video-progress-play'><span class='video-progress-handle'></span></div>",
|
||||
"</div>",
|
||||
"</div>",
|
||||
"<div class='video-controls-buttons'>",
|
||||
"<button class='video-bofang video-button'> <i class='i i-bofang f-czspjuzhong'></i></button>",
|
||||
"<span class='video-time-panel'>",
|
||||
"<span class='video-time-panel-current'>00:00</span>",
|
||||
"<span class='video-time-panel-split'>  /  </span>",
|
||||
"<span class='video-time-panel-total'>00:00</span>",
|
||||
"</span>",
|
||||
"<div class='video-fullscreen'>",
|
||||
"<button class='video-button video-tooltip-toggle video-fullscreen-default' type='button'>",
|
||||
"<i class='i i-quanping f-czspjuzhong'></i>",
|
||||
"</button>",
|
||||
"</div>",
|
||||
menu.join(""),
|
||||
"<div class='video-volume video-popup'>",
|
||||
"<button class='video-button video-btn-volume' data-state='volume'>",
|
||||
"<i class='i i-voice-on f-czspjuzhong'></i>",
|
||||
"</button>",
|
||||
"<div class='video-volume-slider video-popup-content'>",
|
||||
"<div class='video-volume-range'>",
|
||||
"<div class='video-volume-range-current' style='height: 50%;'>",
|
||||
"<div class='video-volume-handle'></div>",
|
||||
"</div>",
|
||||
"</div>",
|
||||
"<div class='video-tinytip-tiao'></div>",
|
||||
"</div>",
|
||||
"</div>",
|
||||
"</div>",
|
||||
"</div>",
|
||||
"</div>",
|
||||
"</div>",
|
||||
"</div>"
|
||||
]
|
||||
$("body").append(str.join(""));
|
||||
var meido = document.getElementById(videoid);
|
||||
meido.volume = .5;
|
||||
var videobox = $("#" + videoid + "box");
|
||||
|
||||
/*视频缓存成功可以获取长度和播放*/
|
||||
eventTester("waiting", meido, function() {
|
||||
console.log(" 等待数据,并非错误");
|
||||
$(".video-loading").removeClass("yihuanchun");
|
||||
});
|
||||
eventTester("playing", meido, function() {
|
||||
console.log("播放了");
|
||||
videobox.addClass("video-playing").removeClass("video-pause");
|
||||
$(".video-loading").addClass("yihuanchun");
|
||||
});
|
||||
eventTester("stalled", meido, function() {
|
||||
console.log("/网速失速");
|
||||
});
|
||||
eventTester("ended", meido, function() {
|
||||
//console.log("播放结束");
|
||||
// $(".video-close").click();
|
||||
});
|
||||
eventTester("canplay", meido, function() {
|
||||
//console.log("可以播放");
|
||||
$(".video-container",videobox).addClass("video-ready");
|
||||
meido.canplay=true;
|
||||
meido.play();
|
||||
$(".video-bofang").find("i").removeClass("i-bofang").addClass("i-zhanting").css("transition","none");
|
||||
});
|
||||
eventTester("loadedmetadata", meido, function() {
|
||||
//console.log("成功获取时长")
|
||||
$(".video-time-panel-total").html(addzero(parseInt(meido.duration / 60)) + ":" + addzero(parseInt(meido.duration % 60)));
|
||||
});
|
||||
eventTester("suspend",meido,function(){
|
||||
// $(".video-loading").removeClass("yihuanchun");
|
||||
console.log("延迟下载")
|
||||
})
|
||||
eventTester("loadstart",meido,function(){
|
||||
console.log("客户端开始请求数据")
|
||||
$(".video-loading").removeClass("yihuanchun");
|
||||
})
|
||||
eventTester("progress",meido,function(){
|
||||
$(".video-container",videobox).addClass("video-ready");
|
||||
console.log("客户端正在请求数据")
|
||||
})
|
||||
/*进度相关*/
|
||||
eventTester("timeupdate", meido, function() {
|
||||
//console.log("播放时间改变");
|
||||
if(meido.canplay){
|
||||
var currentTime = meido.currentTime;
|
||||
var buffered = meido.buffered.end(0);
|
||||
var duration = meido.duration;
|
||||
for(var i = 0; i < meido.buffered.length; i++) {
|
||||
if(currentTime < meido.buffered.end(i)) {
|
||||
buffered = meido.buffered.end(i);
|
||||
break;
|
||||
}
|
||||
}
|
||||
var buff_pro = parseInt((buffered / duration) * 100);
|
||||
$(".video-time-panel-current").html(addzero(parseInt(currentTime / 60)) + ":" + addzero(parseInt(currentTime % 60)));
|
||||
$(".video-progress-play").css("width", currentTime / duration * 100 + "%");
|
||||
$(".video-progress-buffer").css("width", buff_pro + "%");
|
||||
}
|
||||
});
|
||||
var mx = 0;
|
||||
$(document).on("mousemove", function(e) {
|
||||
mx = e.screenX;
|
||||
})
|
||||
eventTester("play", meido, function(e) {
|
||||
videobox.addClass("video-playing").removeClass("video-pause");
|
||||
$(".video-bofang.f-czspjuzhong").addClass("video-hide");
|
||||
//var ny=e.cy
|
||||
var px = mx;
|
||||
clearTimeout(iteme);
|
||||
iteme = setTimeout(function() {
|
||||
if(px == mx) {
|
||||
$(".video-div").addClass("video-hide-ui");
|
||||
}
|
||||
}, 5000);
|
||||
});
|
||||
eventTester("pause", meido, function() {
|
||||
videobox.addClass("video-pause").removeClass("video-playing");
|
||||
$(".video-bofang.f-czspjuzhong").removeClass("video-hide");
|
||||
});
|
||||
eventTester("ended", meido, function() {
|
||||
videobox.removeClass("video-pause video-playing");
|
||||
$(".video-bofang").find("i").removeClass("i-zhanting").addClass("i-bofang");
|
||||
// $(".video-bofang.f-czspjuzhong").removeClass("video-hide");
|
||||
});
|
||||
/*
|
||||
* 播放暂停切换
|
||||
*
|
||||
* */
|
||||
$(".video-bofang,.video-video").on("click", function(e) {
|
||||
if(IsPC() || e.currentTarget.classList[0] == "video-bofang" || e.target.classList[0] == "video-bofang") {
|
||||
clearTimeout(iteme);
|
||||
iteme = setTimeout(function() {
|
||||
//do function在此处写单击事件要执行的代码
|
||||
if($(".video-bofang").find("i").hasClass("i-bofang")) {
|
||||
meido.play();
|
||||
$(".video-bofang").find("i").removeClass("i-bofang").addClass("i-zhanting");
|
||||
} else {
|
||||
meido.pause();
|
||||
$(".video-bofang").find("i").removeClass("i-zhanting").addClass("i-bofang");
|
||||
}
|
||||
},100);
|
||||
} else {
|
||||
if(videobox.hasClass("hideui")) {
|
||||
videobox.removeClass("hideui");
|
||||
} else {
|
||||
videobox.addClass("hideui");
|
||||
}
|
||||
}
|
||||
});
|
||||
/*
|
||||
* 双击全屏
|
||||
*
|
||||
* */
|
||||
$(".video-video").on("dblclick", function() {
|
||||
if(IsPC()) {
|
||||
clearTimeout(iteme);
|
||||
if(videobox.hasClass("quanping")) {
|
||||
exitquanping();
|
||||
} else {
|
||||
quanpin();
|
||||
}
|
||||
}
|
||||
});
|
||||
/*
|
||||
*
|
||||
* 鼠标移入隐藏UI
|
||||
*
|
||||
* */
|
||||
$(".video-ui").on("mouseleave", function() {
|
||||
clearTimeout(iteme);
|
||||
iteme = setTimeout(function() {
|
||||
//do function在此处写单击事件要执行的代码
|
||||
$(".video-div").addClass("video-hide-ui");
|
||||
}, 5000);
|
||||
|
||||
});
|
||||
$(".video-ui").on("mouseenter", function() {
|
||||
$(".video-div").removeClass("video-hide-ui");
|
||||
});
|
||||
/*
|
||||
*
|
||||
* 关闭video
|
||||
*
|
||||
* */
|
||||
$(".video-close").on("click touchstart", function() {
|
||||
videobox.remove();
|
||||
});
|
||||
//进度条面板相对浏览器的左边的距离
|
||||
var parent_left = 0;
|
||||
//鼠标位置相对浏览器的左边的距离
|
||||
var e_left = 0;
|
||||
/*
|
||||
* 进度条
|
||||
*/
|
||||
$(".video-progress", videobox).on("mousemove touchmove", function(e) {
|
||||
var event;
|
||||
if(e.offsetX) {
|
||||
event = e;
|
||||
} else if(e.originalEvent.changedTouches[0].clientX) {
|
||||
event = e.originalEvent.changedTouches[0];
|
||||
}
|
||||
parent_left = $(this).offset().left;
|
||||
//鼠标位置相对浏览器的左边的距离
|
||||
e_left = event.pageX;
|
||||
var width = e_left - parent_left;
|
||||
var wb = (width / $(this).width());
|
||||
var tt = wb * meido.duration;
|
||||
$(".video-tooltip", $(this)).css({
|
||||
"left": (wb * 100) + "%"
|
||||
});
|
||||
$(".video-progress-hover", videobox).css({
|
||||
"width": (wb * 100) + "%"
|
||||
});
|
||||
$(".video-text", videobox).html(addzero(parseInt(tt / 60)) + ":" + addzero(parseInt(tt % 60)));
|
||||
});
|
||||
$(".video-progress", videobox).on("click touchstart touchend", function(e) {
|
||||
videobox.removeClass("video-playing");
|
||||
var percent = ($(".video-progress-hover", videobox).width() / $(this).width());
|
||||
console.log(percent);
|
||||
meido.currentTime = (percent * meido.duration);
|
||||
});
|
||||
/*
|
||||
* 音量
|
||||
*/
|
||||
var canMove = false;
|
||||
$(".video-tinytip-tiao", videobox).on("mousedown", function(e) {
|
||||
canMove = true;
|
||||
console.log(canMove);
|
||||
var zi = $(".video-volume-range-current", videobox);
|
||||
if(canMove) {
|
||||
volumeh = 1 - e.offsetY / $(this).height();
|
||||
console.log(volumeh);
|
||||
zi.css("height", volumeh * 100 + "%")
|
||||
} else {
|
||||
return;
|
||||
}
|
||||
});
|
||||
$(document).on("mouseup", function(e) {
|
||||
canMove = false;
|
||||
});
|
||||
var volumeh = 0;
|
||||
$(".video-tinytip-tiao", videobox).on("mousemove ", function(e) {
|
||||
var zi = $(".video-volume-range-current", videobox);
|
||||
var hh = $(".video-volume-range", videobox);
|
||||
if(canMove) {
|
||||
console.log(e);
|
||||
volumeh = 1 - (e.offsetY - 16) / hh.height();
|
||||
console.log(volumeh);
|
||||
if(volumeh <= 0) {
|
||||
$(".video-btn-volume i").removeClass("i-voice-on").addClass("i-voice-off");
|
||||
} else if(volumeh > 1) {
|
||||
volumeh = 1;
|
||||
} else {
|
||||
$(".video-btn-volume i").removeClass("i-voice-off").addClass("i-voice-on");
|
||||
}
|
||||
zi.css("height", volumeh * 100 + "%")
|
||||
meido.volume = volumeh;
|
||||
} else {
|
||||
return;
|
||||
}
|
||||
});
|
||||
$(".video-btn-volume", videobox).on("click", function() {
|
||||
if($(this).find("i").hasClass("i-voice-on")) {
|
||||
meido.volume = false;
|
||||
volumeh = $(".video-volume-range-current", videobox).height() / $(".video-volume-range", videobox).height();
|
||||
console.log(volumeh);
|
||||
$(".video-volume-range-current", videobox).css("height", 0 + "%");
|
||||
$(".video-btn-volume i").removeClass("i-voice-on").addClass("i-voice-off");
|
||||
} else {
|
||||
meido.volume = true;
|
||||
$(".video-volume-range-current", videobox).css("height", volumeh * 100 + "%");
|
||||
$(".video-btn-volume i").removeClass("i-voice-off").addClass("i-voice-on");
|
||||
}
|
||||
})
|
||||
/*
|
||||
* 音量 结尾
|
||||
*/
|
||||
/*
|
||||
* 全屏
|
||||
*/
|
||||
$(".video-fullscreen", videobox).on("click", function() {
|
||||
if($(this).find("i").hasClass("i-quanping")) {
|
||||
quanpin(meido);
|
||||
} else {
|
||||
console.log("退出全屏");
|
||||
exitquanping();
|
||||
}
|
||||
})
|
||||
/*
|
||||
* 全屏结尾
|
||||
*/
|
||||
|
||||
/*
|
||||
* 切换清晰度
|
||||
*/
|
||||
$(".video-menu-item").on("click",function(){
|
||||
if($(this).hasClass("video-active")){
|
||||
return ;
|
||||
}
|
||||
$(this).addClass("video-active").siblings().removeClass("video-active");
|
||||
$(".video-definition-button span").html($(this).html());
|
||||
var duration=meido.currentTime;
|
||||
meido.canplay=false;
|
||||
meido.pause();
|
||||
meido.src=datasrc+$(this).html()+".mp4";
|
||||
meido.currentTime=duration;
|
||||
});
|
||||
});
|
||||
})
|
||||
Reference in New Issue
Block a user