当前位置:
首页 >
前端技术
> javascript
>内容正文
javascript
一段javascript告警回放代码
生活随笔
收集整理的这篇文章主要介绍了
一段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告警回放代码的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: (2) java项目中用redis
- 下一篇: Spring Web Flow 入门de