欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 前端技术 > javascript >内容正文

javascript

一段javascript告警回放代码

发布时间:2024/1/23 javascript 43 豆豆
生活随笔 收集整理的这篇文章主要介绍了 一段javascript告警回放代码 小编觉得挺不错的,现在分享给大家,帮大家做个参考.
/*** 描述 :* 这里是实现播放,快进等功能的js文件* * */var replaySpeed = 1000 * 5;//播放速度 50秒 var alarmReplayTimer = null; // 定义播放定期器 var alarmBackUpTimer = null; // 定义回退播放器 var flag = false; // 播放开关//向前播放的action地址 var alarmForwardUrl = getRootPath() + "/web/alarm/alarmReplayController/alarmForward.do";//向后播放的action地址 var alarmBackupUrl = getRootPath() + "/web/alarm/alarmReplayController/alarmBackup.do";var startOrPause = function() { // (开始/暂停 ) 播放//修改 开始/暂停 播放 按钮的值var startOrPauseButton = document.getElementById("startOrPause");var startOrPauseButtonValue = startOrPauseButton.innerHTML;if (startOrPauseButtonValue == "开始") {updateTime();startOrPauseButton.innerHTML = "暂停";} else {startOrPauseButton.innerHTML = "开始";}//开始播放或暂停播放if (!flag) { // 未启动flag = true;alarmReplayTimer = setInterval("forward()", replaySpeed); //定时器定时刷新} else { // 已启动flag = false;clearTimer();//停止播放} } var forward = function() { // 向前var currentTime = document.getElementById("currentTime").value;var currentEndTime = document.getElementById("currentEndTime").value;var compareDate = isBigger(currentTime,currentEndTime);if(compareDate==0){$.ajax( {url:alarmForwardUrl,data:{currentTime:currentTime,currentEndTime:currentEndTime},type:'post',cache:false,dataType:'json', success:function(data) {var time = data[0];var alarmList = data[1]; //告警对象集合initTableHtml(alarmList);// console.info(alarmList);if(time!=null){document.getElementById("currentTime").value = time; }else{document.getElementById("currentTime").value = document.getElementById("currentEndTime").value;}// $("#alarmRelay").html(tableContent); },error: function(XMLHttpRequest, textStatus, errorThrown) {alert("播放异常");},})}else if(compareDate==1){alert("播放完成");clearTimer();}else if(compareDate == null){alert("播放异常");}}var stop = function(){ // 停止clearTimer(); }var backward = function() { // 向后var currentTime = document.getElementById("currentTime").value;var currentStartTime = document.getElementById("currentStartTime").value;var compareDate = isBigger(currentStartTime,currentTime);if(compareDate==0){$.ajax( {url:alarmBackupUrl,data:{currentTime:currentTime,currentStartTime:currentStartTime},type:'post',cache:false,dataType:'json', success:function(data) {var time = data[0];var alarmList = data[1]; //告警对象集合initTableHtml(alarmList);if(time!=null){document.getElementById("currentTime").value = time; }else{document.getElementById("currentTime").value = document.getElementById("currentStartTime").value;} // document.getElementById("currentTime").value = time; // $("#alarmRelay").html(tableContent); },error: function(XMLHttpRequest, textStatus, errorThrown) {alert("播放异常");},})}else if(compareDate==1){alert("播放完成");clearTimer();}else if(compareDate == null){alert("播放异常");}}var lastTime = function() { // 上一次clearTimer();backward(); }var nextTime = function() { // 下一次clearTimer();forward(); }var clearAlarmReplayTimer = function(){ // 清除向前定时器if(alarmReplayTimer!=null){clearTimeout(alarmReplayTimer); //清除下一次播放定时器alarmReplayTimer = null;} }var clearAlarmBackUpTimer = function(){ // 清除向后定时器if(alarmBackUpTimer!=null){clearTimeout(alarmBackUpTimer); //清除上一次播放定时器alarmBackUpTimer = null;} }var backSpace = function() { // 回退// speedUp();clearTimer();alarmBackUpTimer = setInterval("backward()", replaySpeed); //定时器定时刷新 }var fastForward = function() { // 快进// speedUp();clearTimer();alarmReplayTimer = setInterval("forward()", replaySpeed); //定时器定时刷新}var clearTimer = function() { // 清除定时器clearAlarmReplayTimer();clearAlarmBackUpTimer();document.getElementById("startOrPause").innerHTML = "开始";}var speedUp = function(){//加速if(replaySpeed == 1000 * 5){replaySpeed = 1000 * 3;}else if(replaySpeed == 1000 * 3){replaySpeed = 1000 * 1;}else if(replaySpeed == 1000 * 1){replaySpeed = 100 * 5;}else if(replaySpeed == 100 * 5){replaySpeed = 100 * 3;}else if(replaySpeed == 100 * 3){replaySpeed = 100 * 1;} } var assignSpeed = function(){ //指定速度倍数//指定倍数var assignSpeedSelect = document.getElementById("assignSpeedSelect").value;if(assignSpeedSelect == "1"){replaySpeed = 1000 * 5;}else if(assignSpeedSelect == "2"){replaySpeed = 1000 * 3;}else if(assignSpeedSelect == "5"){replaySpeed = 1000 * 1;}else if(assignSpeedSelect == "10"){replaySpeed = 100 * 5;}else if(assignSpeedSelect == "20"){replaySpeed = 100 * 3;}else if(assignSpeedSelect == "50"){replaySpeed = 100 * 1;}//重启定时器if(alarmReplayTimer!=null){clearAlarmReplayTimer();alarmReplayTimer = setInterval("forward()", replaySpeed); //定时器定时刷新}if(alarmBackUpTimer!=null){clearAlarmBackUpTimer();alarmBackUpTimer = setInterval("backward()", replaySpeed); //定时器定时刷新}}function getRootPath() { //得到项目路径var strFullPath = window.document.location.href; var strPath = window.document.location.pathname; var pos = strFullPath.indexOf(strPath); var prePath = strFullPath.substring(0, pos); var postPath = strPath.substring(0, strPath.substr(1).indexOf('/') + 1); var rootPath = prePath + postPath; return (rootPath); } $(window).load(function() {(function($){$(document).ready(function(){jeDate({dateCell:'#currentStartTime',format:'YYYY-MM-DD hh:mm:ss',isTime:true,minDate:'2014-09-19 00:00:00'}),jeDate({dateCell:'#currentEndTime',format:'YYYY-MM-DD hh:mm:ss',isTime:true,minDate:'2014-09-19 00:00:00'})});})(jQuery);}) var updateTime = function(){var currentStartTime = document.getElementById("currentStartTime");var currentTime = document.getElementById("currentTime");currentTime.value = currentStartTime.value; }/*表格内容*/function initTableHtml(arr){if(arr==null) return ;console.info(arr);var str = '',strNull = '<td><div></div></td>';var getRowHtml = function(alarmList){var subs = '';subs += '<td player="first"><div><input type="checkbox" class="select" value="'+ alarmList.deviceId +'"</div></td>';if(alarmList.alarmLevel) subs += '<td><div>' + alarmList.alarmLevel + '</div></td>';else subs += strNull;if(alarmList.alarmType) subs += '<td><div>' + alarmList.alarmType + '</div></td>';else subs += strNull;if(alarmList.deviceName) subs += '<td><div>' + alarmList.deviceName + '</div></td>';else subs += strNull;if(alarmList.ip) subs += '<td><div>' + alarmList.ip + '</div></td>';else subs += strNull;if(alarmList.area) subs += '<td><div>' + alarmList.area + '</div></td>';else subs += strNull;if(alarmList.ceateTime) subs += '<td><div>' + getLocalTime(alarmList.ceateTime)+ '</div></td>';else subs += strNull;if(alarmList.lastUpdateTime) subs += '<td><div>' + getLocalTime(alarmList.lastUpdateTime) + '</div></td>';else subs += strNull;if(alarmList.alarmNumber) subs += '<td><div>' + alarmList.alarmNumber + '</div></td>';else subs += strNull;if(alarmList.status) subs += '<td><div>' + alarmList.status + '</div></td>';else subs += strNull;return subs;};var len = arr.length;for(var i=0;i<len;i++){str += '<tr class="id'+ arr[i].deviceId +'">';str += getRowHtml(arr[i]);str += '</tr>';}var stationContent = document.querySelector(".stationContent");stationContent.innerHTML = str;document.querySelector(".selectAll").checked = false; //取消表头的多}function getLocalTime(nS) { return new Date(nS).Format("yyyy-MM-dd HH:mm:ss"); };

总结

以上是生活随笔为你收集整理的一段javascript告警回放代码的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。