1. 倒计时需求
客户登录差10s到无操作10分钟时倒计时,屏幕有遮罩,客户移动鼠标后倒计时停止,无操作持续时间归0。
2. 代码
function listenerTime(){
var tipTime = 10;//tipTime定义提示时间,可放到redis或者数据库中,使用时再获取。或者登陆时就保存到参数表中
var exitTime = 20;//exitTime 退出时间
var timeTemp=0;
var mark = 0; //标识倒计时是否正在进行,0没有,1进行中
var timeTemp1=0;//倒计时到几秒
var i = 10;//倒计时的显示
window.setInterval(function(){
handleTimeCount = handleTimeCount+1;
timeTemp = timeTemp+1;
timeTemp1--;//倒计时开始后,每次进入都减1
if(handleTimeCount == 10){//
timeTemp1=10;
//遮罩层
var hideHTML = '<div class="loading-data" style="width:1000px;height:100%;background: #000;opacity:0.7;positin:fixed;z-index:6;">' +
'<>' +
'' +
'' +
'' +
'' +
'</div>';
$().append(hideHTML);
mark = 1;//进入倒计时
i = 10;
$('.fukuang').hide();
}
//进入倒计时并且不是开始倒计时时,显示时间减1
if(mark == '1' && timeTemp1 != 10){
i--;
var str = i+'<span>S</span>';
$('.loaw').html(str);
}
//倒计时中时客户移动鼠标或点击键盘,退出倒计时
if(handleTimeCount !=10 && (handleTimeCount+timeTemp1)!=20 && mark == "1"){
if(configSession){//还有session
$('.fukuang').show();//以前的弹框显示
$('.loadingd-data').remove();//遮罩层删除
i=10;//重置倒计时时间
mark = "0";//标志清0
}else{//session过期,退出
session = "";
//退出代码
}
}
//倒计时正常到0,清除倒计时显示
if(handleTimeCount ==20 && mark == '1'){
if(configSession){//还有session
$('.fukuang').show();//以前的弹框显示
$('.loadingd-data').remove();//遮罩层删除
i=10;//重置倒计时时间
mark = "0";//标志清0
}else{//session过期,退出
session = "";
//退出代码
}
}
if(handleTimeCount == tipTime*60){
timeTemp = handleTimeCount;
openWinForHasZheZhao({
message: "您已长时间未操作网银系统,是否继续使用?",
winType: "confirm",
yesFun:function(){
//如果此时已经超过20分钟,不能用handleTimeCount,因为移动鼠标会清0
if(timeTemp >= exitTime*60){
//触发登出的控制
// 清理session,sessionData = "";
CONFIG_SESSION_ID = "";
sessionData = "";
//window.location.href="http://localhost:8088/";
}else{
//这个时判断session值是否还有,即客户不做交易的时间(客户做交易时会更改数据库中的不做交易的时间为0,达到设置的时间session清空,不能再做交易)
if(CONFIG_SESSION_ID){
handleTimeCount = 0;//如果session还在,客户就能正常使用
}else{
sessionData = "";
$("#loginIn").click();//session标志标识没有,清空session
}
}
},
noFun:function(){
//触发登出的控制
// 清理session,sessionData = "";
CONFIG_SESSION_ID = "";
sessionData = "";
//window.location.href="http://localhost:8088/";
}
});
}
},1000);
}
$(document).mousemove(function(e){
handleTimeCount = 0;
});
$(document).keydown(function(e){
handleTimeCount = 0;
});