gpt4 book ai didi

javascript - 对象属性返回 NaN,然后​​使对象函数触发

转载 作者:行者123 更新时间:2023-12-01 03:58:53 24 4
gpt4 key购买 nike

我正在练习 Javascript,并尝试编写一个对象,当在网页中引用该对象时,该对象将监视用户并在用户不活动时将其注销。

但是,该对象无法按预期工作。我尝试查看属性 minsBeforeForceLogout 它返回 NaN

我尝试在 setTimeout 之前将属性设置为 0,因为我读到在声明时该对象还没有值,但它仍然不会增加..我该如何解决这个问题?我混合使用 Javascript 和 Jquery

编辑我已经解决了 NaN 问题,但是当我运行注销事件时,我的 if 不会触发。难道是我的 body 状况出了问题?

编辑2我已将 setTimeOut 替换为 setInterval

$(document).ready(function () {


/*below object mainly checks if user is inactive*/
var monitorIfActive = {
minsBeforeForceLogOut : 0, //if this variable reaches threshold, logout commences
threshold: 5,

resetInactivity : function(e) {
monitorIfActive.minsBeforeForceLogOut = 0;
},

userIsInactive : function() {
monitorIfActive.minsBeforeForceLogout++;
swal(monitorIfActive.minsBeforeForceLogout.toString());// <- **returns NaN**

if (monitorIfActive.minsBeforeForceLogout >= monitorIfActive.threshold)
{
monitorIfActive.logout();
}

},

logout: function () {
swal("You have been logged out due to inactivity");
}


}

//bind to html
$('body').on('keypress click mousemove scroll', monitorIfActive.resetInactivity);


//start the timer countdown for our monitor object.
monitorIfActive.minsBeforeForceLogOut = 0; //<- I tried this, but still it does not work.
var startMonitoring = setTimeout(monitorIfActive.userIsInactive, 1000); });

澄清一下,我正在尝试执行注销功能,这意味着页面会显示“由于不活动,您已注销

最佳答案

在您的定义中,您有 minsBeforeForceLogOut,而在其他许多地方您有 minsBeforeForceLogout - 不同的驼峰式。

关于javascript - 对象属性返回 NaN,然后​​使对象函数触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42357141/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com