| | |
| | | var str = reg.replace(ptn, '\\'+'$&');
|
| | | return str;
|
| | | }
|
| | | } |
| | | };
|
| | |
|
| | |
|
| | | //依赖ckplayer.js
|
| | | var CkVideo = function(container, video) {
|
| | | this.urls = [];
|
| | | this.container = $(container);
|
| | | this.opts = {
|
| | | container: video, //容器的ID或className
|
| | | variable: 'player', //播放函数名称
|
| | | loop: false, //播放结束是否循环播放
|
| | | autoplay: false,//是否自动播放
|
| | | //poster: 'material/poster.jpg', //封面图片
|
| | | preview: {},
|
| | | drag: 'start', //拖动的属性
|
| | | video: [
|
| | | ['', 'video/mp4']
|
| | | ]
|
| | | };
|
| | | |
| | | this._slide();
|
| | | this._change();
|
| | | };
|
| | | CkVideo.prototype = {
|
| | | init: function(data, sid) {
|
| | | this.urls = [];
|
| | | for(var i=0; i<data.length; i++) {
|
| | | var _data = data[i];
|
| | | var tmp = {};
|
| | | tmp.fileName = _data.fileName;
|
| | | tmp.fileUrl = '../../../stationsrc/'+sid+'/video/'+_data.fileName;
|
| | | this.urls.push(tmp);
|
| | | }
|
| | | |
| | | // 设置播放列表
|
| | | this._list();
|
| | | }
|
| | | ,player: function(url) {
|
| | | this.opts.video = [[url, 'video/mp4']];
|
| | | new ckplayer(this.opts); |
| | | }
|
| | | ,_list: function() {
|
| | | var container = this.container.find('.ck-video-list-container ul');
|
| | | container.text("");
|
| | | // 遍历urls
|
| | | for(var i=0; i<this.urls.length; i++) {
|
| | | var _url = this.urls[i];
|
| | | var _li = $('<li></li>');
|
| | | var _a = $('<a href="javascript:;"></a>');
|
| | | if(i == 0) {
|
| | | _a.addClass('active-this');
|
| | | }
|
| | | var _icon = $('<i class="fa fa-video-camera"></i>');
|
| | | var _span = $('<span>'+_url.fileName+'</span>');
|
| | | |
| | | _a.append(_icon);
|
| | | _a.append(_span);
|
| | | _a.data('url', _url);
|
| | | _li.append(_a);
|
| | | container.append(_li);
|
| | | }
|
| | | |
| | | var rsUrl = this.getAcUrl();
|
| | | this.player(rsUrl);
|
| | | |
| | | }
|
| | | ,_slide: function() {
|
| | | var _list = this.container.find('.ck-video-list');
|
| | | var _slide = this.container.find('.ck-video-slide');
|
| | | var _this = this;
|
| | | _slide.off('click.ck.slide').on('click.ck.slide', function() {
|
| | | _list.toggleClass('slide-hide');
|
| | | });
|
| | | }
|
| | | ,_change: function() {
|
| | | var container = this.container.find('.ck-video-list-container ul');
|
| | | var _this = this;
|
| | | container.off('click.ck.change').on('click.ck.change', 'li a', function() {
|
| | | container.find('li a').removeClass('active-this');
|
| | | $(this).addClass('active-this');
|
| | | var url = $(this).data('url').fileUrl;
|
| | | _this.player(url);
|
| | | });
|
| | | }
|
| | | ,getAcUrl: function() {
|
| | | var container = this.container.find('.ck-video-list-container ul');
|
| | | var acUrl = container.find('.active-this');
|
| | | var url = '';
|
| | | if(acUrl.length != 0) {
|
| | | url = acUrl.data('url').fileUrl;
|
| | | }
|
| | | return url;
|
| | | }
|
| | | };
|
| | |
|
| | | //格式化时间
|
| | | Date.prototype.format =function(format)
|
| | | {
|
| | | var o = {
|
| | | "M+" : this.getMonth()+1, //month
|
| | | "d+" : this.getDate(), //day
|
| | | "h+" : this.getHours(), //hour
|
| | | "m+" : this.getMinutes(), //minute
|
| | | "s+" : this.getSeconds(), //second
|
| | | "q+" : Math.floor((this.getMonth()+3)/3), //quarter
|
| | | "S" : this.getMilliseconds() //millisecond
|
| | | };
|
| | | if(/(y+)/.test(format)) format=format.replace(RegExp.$1,
|
| | | (this.getFullYear()+"").substr(4- RegExp.$1.length));
|
| | | for(var k in o)if(new RegExp("("+ k +")").test(format))
|
| | | format = format.replace(RegExp.$1,
|
| | | RegExp.$1.length==1? o[k] :
|
| | | ("00"+ o[k]).substr((""+ o[k]).length));
|
| | | return format;
|
| | | };
|
| | |
|