494 lines
14 KiB
JavaScript
494 lines
14 KiB
JavaScript
|
|
var token1 = null;
|
|||
|
|
var storageId2 = "";
|
|||
|
|
var startTime2 ="";
|
|||
|
|
var endTime2 = "";
|
|||
|
|
var storageType2 = 0;//初始值,1为表示可录像,点击后变为2,表示可下载
|
|||
|
|
var storageVideoScreen2=0;
|
|||
|
|
$(function(){
|
|||
|
|
connect2();
|
|||
|
|
});
|
|||
|
|
|
|||
|
|
function getPhoto2(){
|
|||
|
|
console.log("getPhoto selectedScreen="+selectedScreen);
|
|||
|
|
var canvas = document.getElementById("huaImg");
|
|||
|
|
var video = document.getElementById(selectedScreen);
|
|||
|
|
let ctx = canvas.getContext('2d');
|
|||
|
|
canvas.width = 1080;
|
|||
|
|
canvas.height = 720;
|
|||
|
|
ctx.drawImage(video, 0, 0, 1080, 720); // 将video中的数据绘制到canvas里
|
|||
|
|
saveImage2(canvas, new Date().getTime() + '.png'); // 存储图片到本地
|
|||
|
|
}
|
|||
|
|
function saveImage2(canvas, filename) {
|
|||
|
|
let image = canvas.toDataURL('image/png').replace('image/png', 'image/octet-stream');
|
|||
|
|
saveAs2(image, filename || new Date().getTime() + '.png');
|
|||
|
|
}
|
|||
|
|
function storageVideo2(){
|
|||
|
|
console.log("storageType2=="+storageType2);
|
|||
|
|
if(storageVideoScreen2 == 0){
|
|||
|
|
storageVideoScreen2 = selectedScreen;
|
|||
|
|
}else{
|
|||
|
|
console.log("storageVideoScreen2=="+storageVideoScreen2);
|
|||
|
|
console.log("selectedScreen=="+selectedScreen);
|
|||
|
|
if(storageVideoScreen2 != selectedScreen){
|
|||
|
|
layer.alert("开始录制和结束录制请确保是同一个视频!!!");
|
|||
|
|
return;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
var num = parseInt(storageType2);
|
|||
|
|
if(num ==0){
|
|||
|
|
$("#videotape").css("background-image","url('../../img/video/videoRecord.png')");
|
|||
|
|
startstorage2();
|
|||
|
|
}else{
|
|||
|
|
$("#videotape").css("background-image","url('../../img/video/videoRecord.png')");
|
|||
|
|
stopmanual2(storageId2);
|
|||
|
|
storageVideoScreen2 =0;
|
|||
|
|
}
|
|||
|
|
storageType2++;
|
|||
|
|
console.log("num=="+num);
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
|
|||
|
|
function stopmanual2(id) {
|
|||
|
|
layer.msg('结束录像,正在准备下载,请稍后。。。');
|
|||
|
|
let pId = null;
|
|||
|
|
let idex = 0;
|
|||
|
|
$.each(playBallList, function (index, item) {
|
|||
|
|
if (!isEmpty(item)) {
|
|||
|
|
if (selectedScreen === item.selectedScreen) {
|
|||
|
|
if (item.start && item.myPlayer !== null) {
|
|||
|
|
pId = item.puid;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
});
|
|||
|
|
endTime2 = Date.parse(new Date())/1000+10;
|
|||
|
|
console.log("endTime2="+endTime2);
|
|||
|
|
console.log("storageId2="+id);
|
|||
|
|
requestPost2('CSS/C_CSS_StopManualStorage?token=' + token1, {
|
|||
|
|
id: id
|
|||
|
|
}, rv => {
|
|||
|
|
getQxVideoList2();
|
|||
|
|
});
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
function getQxVideoList2(){
|
|||
|
|
let pId = null;
|
|||
|
|
let idex = 0;
|
|||
|
|
$.each(playBallList, function (index, item) {
|
|||
|
|
if (!isEmpty(item)) {
|
|||
|
|
if (selectedScreen === item.selectedScreen) {
|
|||
|
|
if (item.start && item.myPlayer !== null) {
|
|||
|
|
pId = item.puid;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
});
|
|||
|
|
var startTime2 = getTodaystartTime2()+"";
|
|||
|
|
var endTime2 = getTodayendTime2()+"";
|
|||
|
|
requestGetWithParam2('CSS/C_CSS_QueryStorageFiles?token=' + token1, {
|
|||
|
|
idx: 0,
|
|||
|
|
puid:pId,
|
|||
|
|
begin:startTime2,
|
|||
|
|
end:endTime2,
|
|||
|
|
offset:'0',
|
|||
|
|
count:'200'
|
|||
|
|
}, rv => {
|
|||
|
|
var resultJson = JSON.parse(rv.responseText);
|
|||
|
|
if(resultJson == "{}" || rv.responseText == "{}"){
|
|||
|
|
layer.alert("暂无云视频!");
|
|||
|
|
return;
|
|||
|
|
}
|
|||
|
|
var files = resultJson.File;
|
|||
|
|
var filesLength = files.length;
|
|||
|
|
var sTime = '';
|
|||
|
|
var eTime = '';
|
|||
|
|
console.log("files="+JSON.stringify(files));
|
|||
|
|
var isArray = Array.isArray(files)
|
|||
|
|
if(isArray){
|
|||
|
|
for(var i=0;i<files.length;i++){
|
|||
|
|
if(i==(files.length-1)){
|
|||
|
|
var fi = files[i];
|
|||
|
|
sTime = fi.Begin;
|
|||
|
|
eTime = fi.End;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
console.log("sTime111="+sTime);
|
|||
|
|
console.log("eTime111="+eTime);
|
|||
|
|
}else{
|
|||
|
|
sTime = files.Begin;
|
|||
|
|
eTime = files.End;
|
|||
|
|
console.log("sTime222="+sTime);
|
|||
|
|
console.log("eTime222="+eTime);
|
|||
|
|
}
|
|||
|
|
mp4Transcode2(pId,sTime,eTime);
|
|||
|
|
console.log("files="+files);
|
|||
|
|
});
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
function mp4Transcode2(pId,sTime,eTime){
|
|||
|
|
requestPost('CSS/transcode?token=' + token1, {
|
|||
|
|
idx: 0,
|
|||
|
|
puid:pId,
|
|||
|
|
beginUTCSecond:sTime,
|
|||
|
|
endUTCSecond:eTime,
|
|||
|
|
retentionMinutes:5
|
|||
|
|
}, rv => {
|
|||
|
|
var resultJson = JSON.parse(rv.responseText);
|
|||
|
|
var transcodeId = resultJson.transcodeId;
|
|||
|
|
var timer1=setTimeout(function(){
|
|||
|
|
mp4TranscodeProgress2(transcodeId,timer1);
|
|||
|
|
},5000);
|
|||
|
|
});
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
function mp4TranscodeProgress2(transcodeId,timer1){
|
|||
|
|
requestGetWithParam2('CSS/transcodeProgress?token=' + token1, {
|
|||
|
|
transcodeId: transcodeId
|
|||
|
|
}, rv => {
|
|||
|
|
var resultJson = JSON.parse(rv.responseText);
|
|||
|
|
var ErrorCode = resultJson.ErrorCode;
|
|||
|
|
var msg = resultJson.msg;
|
|||
|
|
var reMsg = "transcode "+transcodeId+" done";
|
|||
|
|
if(msg==reMsg && ErrorCode==0){
|
|||
|
|
clearInterval2(timer1);
|
|||
|
|
location.href="http://112.31.70.193:1854/icvs/CSS/downloadTranscodeFile?token="+token1+"&transcodeId="+transcodeId
|
|||
|
|
//location.href=_cf.q2http_url+"icvs/CSS/downloadTranscodeFile?token1="+token1+"&transcodeId="+transcodeId
|
|||
|
|
}
|
|||
|
|
});
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
function getTodaystartTime2(){
|
|||
|
|
var startTime2 = toDayExchange2()+" 00:00:00";
|
|||
|
|
var date = new Date(startTime2);
|
|||
|
|
var longDateStar = Date.parse(date)/1000;
|
|||
|
|
console.log("getTodaystartTime2="+longDateStar);
|
|||
|
|
return longDateStar;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
function getTodayendTime2(){
|
|||
|
|
var endTime2 = toDayExchange2()+" 23:59:59";
|
|||
|
|
var date = new Date(endTime2);
|
|||
|
|
var longDateEnd = Date.parse(date)/1000;
|
|||
|
|
console.log("getTodayendTime2="+longDateEnd);
|
|||
|
|
return longDateEnd;
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
|
|||
|
|
function toDayExchange2() {
|
|||
|
|
var date = new Date()
|
|||
|
|
var Y = date.getFullYear() + '-'
|
|||
|
|
var M = (date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1) + '-'
|
|||
|
|
var D = (date.getDate() < 10 ? '0' + date.getDate() : date.getDate()) + ' '
|
|||
|
|
// var h = (date.getHours() < 10 ? '0' + date.getHours() : date.getHours()) + ':'
|
|||
|
|
// var m = (date.getMinutes() < 10 ? '0' + date.getMinutes() : date.getMinutes()) + ':'
|
|||
|
|
// var s = (date.getSeconds() < 10 ? '0' + date.getSeconds() : date.getSeconds())
|
|||
|
|
return Y + M + D
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
//开始云录像
|
|||
|
|
function startstorage2() {
|
|||
|
|
layer.msg('开始录像。');
|
|||
|
|
startTime2 = Date.parse(new Date())/1000-10;
|
|||
|
|
let pId = null;
|
|||
|
|
let idex = 0;
|
|||
|
|
$.each(playBallList, function (index, item) {
|
|||
|
|
if (!isEmpty(item)) {
|
|||
|
|
if (selectedScreen === item.selectedScreen) {
|
|||
|
|
if (item.start && item.myPlayer !== null) {
|
|||
|
|
pId = item.puid;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
});
|
|||
|
|
|
|||
|
|
console.log("清晰录像++++");
|
|||
|
|
requestPost2('CSS/C_CSS_StartManualStorage?token=' + token1, {
|
|||
|
|
puid: pId,
|
|||
|
|
idx: idex,
|
|||
|
|
duration: 5,
|
|||
|
|
reserveDay: 30,
|
|||
|
|
fileLength: 15,
|
|||
|
|
type: 0
|
|||
|
|
}, rv => {
|
|||
|
|
var respJSON = JSON.parse(rv.responseText);
|
|||
|
|
storageId2 = respJSON.Param.ID;
|
|||
|
|
});
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
//获取设备列表
|
|||
|
|
function fetchDevice2(offset, count) {
|
|||
|
|
var self = this;
|
|||
|
|
|
|||
|
|
//获取设备列表的接口
|
|||
|
|
var router = 'CAS/C_CAS_QueryPUIDSets?offset=' + offset + '&count=' + count + '&token=' + token1;
|
|||
|
|
requestGet2(router, rv => {
|
|||
|
|
var respJSON = rv.responseJSON;
|
|||
|
|
if (respJSON.constructor != Array) {
|
|||
|
|
respJSON = [respJSON];
|
|||
|
|
}
|
|||
|
|
device_list = respJSON;
|
|||
|
|
|
|||
|
|
//把设备加载到指定的位置
|
|||
|
|
//console.log("device_list="+JSON.stringify(device_list));
|
|||
|
|
addDevice2(device_list);
|
|||
|
|
if (device_list.length == count) {
|
|||
|
|
offset += count;
|
|||
|
|
fetchDevice2(offset, count);
|
|||
|
|
} else {
|
|||
|
|
return;
|
|||
|
|
}
|
|||
|
|
})
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
function addDevice2(device_list){
|
|||
|
|
$.each(device_list, function (index, item) {
|
|||
|
|
let puId = item.$;
|
|||
|
|
let online = item.OnlineFlag;
|
|||
|
|
if(online == '1'){
|
|||
|
|
onLineBallList.push({
|
|||
|
|
puid: puId,
|
|||
|
|
online: online
|
|||
|
|
});
|
|||
|
|
}
|
|||
|
|
});
|
|||
|
|
// console.log("onLineBallList="+JSON.stringify(onLineBallList));
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
//创建平台连接
|
|||
|
|
function connect2() {
|
|||
|
|
var self = this;
|
|||
|
|
var params = {
|
|||
|
|
"address": _cf_1.connParams.address,
|
|||
|
|
"port": _cf_1.connParams.port,
|
|||
|
|
"user": _cf_1.connParams.user,
|
|||
|
|
"password": _cf_1.connParams.password,
|
|||
|
|
"epid": _cf_1.connParams.epid,
|
|||
|
|
"fixaddr": _cf_1.connParams.bfix
|
|||
|
|
}
|
|||
|
|
requestPost2('login', params, function (rv) {
|
|||
|
|
let self = this;
|
|||
|
|
var result = {
|
|||
|
|
errcode: -1,
|
|||
|
|
token: ''
|
|||
|
|
}
|
|||
|
|
var respJSON = JSON.parse(rv.responseText);
|
|||
|
|
if (respJSON.hasOwnProperty('errcode')) {
|
|||
|
|
result.errcode = respJSON.errcode;
|
|||
|
|
}
|
|||
|
|
if (respJSON.hasOwnProperty('token')) {
|
|||
|
|
result.token = respJSON.token;
|
|||
|
|
result.errcode = 0;
|
|||
|
|
token1 = result.token;
|
|||
|
|
console.log("token1="+token1)
|
|||
|
|
// fetchDevice(0,100);
|
|||
|
|
}
|
|||
|
|
})
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
//post请求
|
|||
|
|
function requestPost2(router, params, callback) {
|
|||
|
|
console.log('router='+router+" ,params="+params+" ,callback="+callback);
|
|||
|
|
console.log('requestPost params2='+JSON.stringify(params));
|
|||
|
|
var self = this;
|
|||
|
|
$.ajax({
|
|||
|
|
type: 'post',
|
|||
|
|
url: _cf_1.q2http_url + router,
|
|||
|
|
data: params,
|
|||
|
|
traditional: true,
|
|||
|
|
dataType: 'json',
|
|||
|
|
async: true,
|
|||
|
|
complete: function (rv) {
|
|||
|
|
console.log("rv2====="+JSON.stringify(rv));
|
|||
|
|
if (typeof callback == 'function') callback(rv)
|
|||
|
|
}
|
|||
|
|
})
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
//get请求
|
|||
|
|
function requestGet2(router, callback) {
|
|||
|
|
var self = this;
|
|||
|
|
var url = _cf_1.q2http_url + router;
|
|||
|
|
$.ajax({
|
|||
|
|
type: 'get',
|
|||
|
|
url: url,
|
|||
|
|
dataType: 'json',
|
|||
|
|
async: true,
|
|||
|
|
complete: function (rv) {
|
|||
|
|
if (typeof callback == 'function') callback(rv)
|
|||
|
|
}
|
|||
|
|
})
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
//get请求
|
|||
|
|
function requestGetWithParam2(router, params,callback) {
|
|||
|
|
var self = this;
|
|||
|
|
var url = _cf_1.q2http_url + router;
|
|||
|
|
$.ajax({
|
|||
|
|
type: 'get',
|
|||
|
|
url: url,
|
|||
|
|
dataType: 'json',
|
|||
|
|
data:params,
|
|||
|
|
async: true,
|
|||
|
|
complete: function (rv) {
|
|||
|
|
if (typeof callback == 'function') callback(rv)
|
|||
|
|
}
|
|||
|
|
})
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
/*********************云台控制****************/
|
|||
|
|
function ptz2(type) {
|
|||
|
|
|
|||
|
|
let pId = null;
|
|||
|
|
let idex = 0;
|
|||
|
|
//视频替换
|
|||
|
|
$.each(playBallList, function (index, item) {
|
|||
|
|
if (!isEmpty(item)) {
|
|||
|
|
if (selectedScreen === item.selectedScreen) {
|
|||
|
|
if (item.start && item.myPlayer !== null) {
|
|||
|
|
pId = item.puid;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
});
|
|||
|
|
console.log("pId="+pId)
|
|||
|
|
console.log("sssssss="+selectedScreen)
|
|||
|
|
if(type == 'TurnUp'){
|
|||
|
|
turncontrol2(pId,idex,'up');
|
|||
|
|
}else if(type == 'TurnDown'){
|
|||
|
|
turncontrol2(pId,idex,'down');
|
|||
|
|
}else if(type == 'TurnLeft'){
|
|||
|
|
turncontrol2(pId,idex,'left');
|
|||
|
|
}else if(type == 'TurnRight'){
|
|||
|
|
turncontrol2(pId,idex,'right');
|
|||
|
|
}else if(type == 'ZoomInPicture'){
|
|||
|
|
//放大
|
|||
|
|
zoomcontrol2(pId,idex,'zoomin');
|
|||
|
|
}else if(type == 'ZoomOutPicture'){
|
|||
|
|
//缩小
|
|||
|
|
zoomcontrol2(pId,idex,'zoominout');
|
|||
|
|
}else if(type == 'MakeFocusFar'){
|
|||
|
|
//远焦
|
|||
|
|
focuscontrol2(pId,idex,'faraway');
|
|||
|
|
}else if(type == 'MakeFocusNear'){
|
|||
|
|
//近焦
|
|||
|
|
focuscontrol2(pId,idex,'near');
|
|||
|
|
}else if(type == 'StopFocusMove'){
|
|||
|
|
focuscontrol2(pId,idex,'stop');
|
|||
|
|
}else if(type == 'StopPictureZoom'){
|
|||
|
|
zoomcontrol2(pId,idex,'stop');
|
|||
|
|
}else{
|
|||
|
|
turncontrol2(pId,idex,'stop');
|
|||
|
|
}
|
|||
|
|
};
|
|||
|
|
//清新云台上下左右
|
|||
|
|
//旋转平台功能
|
|||
|
|
async function turncontrol2(puid,idx,option) {
|
|||
|
|
if (option == "up") {
|
|||
|
|
$("#balltop").css("background-image","url('../../../img/video/ydj/s.png')");
|
|||
|
|
await requestPost2('PTZ/C_PTZ_Turn?token=' + token1, {
|
|||
|
|
puid: puid,
|
|||
|
|
idx: idx,
|
|||
|
|
motion: 'up'
|
|||
|
|
}, async (rv) => {
|
|||
|
|
});
|
|||
|
|
} else if (option == "down") {
|
|||
|
|
$("#ballbuttom").css("background-image","url('../../../img/video/ydj/x.png')");
|
|||
|
|
var number = "down";
|
|||
|
|
await requestPost2('PTZ/C_PTZ_Turn?token=' + token1, {
|
|||
|
|
puid: puid,
|
|||
|
|
idx: idx,
|
|||
|
|
motion: 'down'
|
|||
|
|
}, rv => {
|
|||
|
|
});
|
|||
|
|
} else if (option == "left") {
|
|||
|
|
$("#ballleft").css("background-image","url('../../../img/video/ydj/z.png')");
|
|||
|
|
var number = "left";
|
|||
|
|
await requestPost2('PTZ/C_PTZ_Turn?token=' + token1, {
|
|||
|
|
puid: puid,
|
|||
|
|
idx: idx,
|
|||
|
|
motion: 'left'
|
|||
|
|
}, rv => {
|
|||
|
|
});
|
|||
|
|
} else if (option == "right") {
|
|||
|
|
var number = "right";
|
|||
|
|
$("#ballright").css("background-image","url('../../../img/video/ydj/y.png')");
|
|||
|
|
await requestPost2('PTZ/C_PTZ_Turn?token=' + token1, {
|
|||
|
|
puid: puid,
|
|||
|
|
idx: idx,
|
|||
|
|
motion: 'right'
|
|||
|
|
}, rv => {
|
|||
|
|
});
|
|||
|
|
} else if (option == "stop") {
|
|||
|
|
var number = "stop";
|
|||
|
|
console.log("stop----------------");
|
|||
|
|
requestPost2('PTZ/C_PTZ_Turn?token=' + token1, {
|
|||
|
|
puid: puid,
|
|||
|
|
idx: idx,
|
|||
|
|
motion: 'stop'
|
|||
|
|
}, rv => {
|
|||
|
|
console.log("stop++++++++++++++++");
|
|||
|
|
$("#balltop").css("background-image","url('../../../img/video/wdj/s.png')");
|
|||
|
|
$("#ballbuttom").css("background-image","url('../../../img/video/wdj/x.png')");
|
|||
|
|
$("#ballleft").css("background-image","url('../../../img/video/wdj/z.png')");
|
|||
|
|
$("#ballright").css("background-image","url('../../../img/video/wdj/y.png')");
|
|||
|
|
});
|
|||
|
|
}
|
|||
|
|
};
|
|||
|
|
//缩放功能
|
|||
|
|
function zoomcontrol2(puid,idx,option) {
|
|||
|
|
let self = this;
|
|||
|
|
let params = {
|
|||
|
|
puid: puid,
|
|||
|
|
idx: idx,
|
|||
|
|
}
|
|||
|
|
if (option == "stop") {
|
|||
|
|
//停止缩放接口
|
|||
|
|
requestPost2('PTZ/C_PTZ_StopPictureZoom?token=' + token1, params, rv => {
|
|||
|
|
var respJSON = rv.responseJSON;
|
|||
|
|
})
|
|||
|
|
$("#big").css("background-image","url('../../img/video/scale01.png')");
|
|||
|
|
$("#small").css("background-image","url('../../img/video/scale02.png')");
|
|||
|
|
} else if (option == "zoomin") {
|
|||
|
|
//放大图像接口
|
|||
|
|
$("#big").css("background-image","url('../../img/video/scale01.png')");
|
|||
|
|
requestPost2('PTZ/C_PTZ_ZoomInPicture?token=' + token1, params, rv => {})
|
|||
|
|
} else {
|
|||
|
|
$("#small").css("background-image","url('../../img/video/scale02.png')");
|
|||
|
|
//缩小图像接口
|
|||
|
|
requestPost2('PTZ/C_PTZ_ZoomOutPicture?token=' + token1, params, rv => {})
|
|||
|
|
}
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
function focuscontrol2(puid,idx,option) {
|
|||
|
|
let params = {
|
|||
|
|
puid: puid,
|
|||
|
|
idx: idx,
|
|||
|
|
}
|
|||
|
|
if (option == "near") {
|
|||
|
|
$("#jfocus").css("background-image","url('../../img/video/focus01.png')");
|
|||
|
|
requestPost2('PTZ/C_PTZ_MakeFocusNear?token=' + token1, params, rv => {
|
|||
|
|
console.log(rv)
|
|||
|
|
})
|
|||
|
|
} else if (option == "faraway") {
|
|||
|
|
$("#yfocus").css("background-image","url('../../img/video/focus02.png')");
|
|||
|
|
requestPost2('PTZ/C_PTZ_MakeFocusFar?token=' + token1, params, rv => {
|
|||
|
|
console.log(rv)
|
|||
|
|
})
|
|||
|
|
} else {
|
|||
|
|
requestPost2('PTZ/C_PTZ_StopFocusMove?token=' + token1, params, rv => {
|
|||
|
|
console.log(rv)
|
|||
|
|
})
|
|||
|
|
|
|||
|
|
$("#yfocus").css("background-image","url('../../img/video/focus01.png')");
|
|||
|
|
$("#jfocus").css("background-image","url('../../img/video/focus02.png')");
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|