(JavaScript实现)页面无操作倒计时退出

时间:2022-02-06 02:08:44

项目前端页面需要实现,页面没人操作进入倒计时,以下为前端代码实现。

//设置(倒计时功能)开关
var _mouseActiveListener_flag = true;

beforecount:触发倒计时间隔(单位:毫秒)

count:倒计时总数(单位:秒)

 var mouseActiveListener = function (beforecount, count, callback) {
//config
var __countdown_html = '<div id="__tt" style="position:fixed;top:110px;right:10px;z-index:1000;color:#eee;font-size:25px;"></div>';
//define
var target = null, _t = null, _tc = null;
var target_countdown = function (__count) {
if (__count >= 0) {
target.innerHTML = __count + '秒后退出';
_tc = setTimeout(function () {
target_countdown(__count);
}, 1000);
} else {
callback();
}
__count--;
}, _t_exec = function () {
return setTimeout(function () {
if (_mouseActiveListener_flag) {
target = Ne.dom.createEl(__countdown_html);
document.body.appendChild(target);
target_countdown(count);
}
}, beforecount);
}, _t_clear = function () {
clearTimeout(_t);
clearTimeout(_tc);
//target.parentElement.removeChild(target);
$(target).remove();
target = null;
};
//exec
_t = _t_exec();
document.addEventListener('click', function () {
_t_clear();
_t = _t_exec();
});
};
//后置操作,解释:在5秒后(5000)不操作的状态下触发倒计时,倒计时180秒,具体看里面的函数。
mouseActiveListener(5000, 180, function () {
window.location.href = "/Home/Index";
});