0
我的目标是只要用户在特定时间内不断点击某个按钮,就可以将用户保留在视图中。不活跃重定向
我正在使用Rails,并在相关视图中通过嵌入式JS探索解决方案。
到目前为止,我能够设置之后,用户会被重定向到根路径与下面的脚本时间:
var delayedRedirect = function(){
window.location = "/";
}
var delay = 10000;
$(document).ready(function() {
setTimeout('delayedRedirect()', delay);
});
我一直想写重置价值函数'delay'或者再次调用setTimeoutFunction。
$('#btn-persist').click(function() {
delay = 3000;
// or calling again setTimeout('delayedRedirect()', delay);
});
但我注意到改变变量不会影响已经被调用的setTimeout函数。
我也试着使用clearTimeout功能如下没有成功
var delayedRedirect = function(){
window.location = "/persists";
}
var delay = 3000;
var triggerRedirect = function() { setTimeout('delayedRedirect()', delay);
}
var stopRedirect = function(){
clearTimeout(triggerRedirect);
}
$(document).ready(function() {
triggerRedirect();
$('#btn-persist').click(function() {
stopRedirect();
});
});
我不知道为什么,这可能无法正常工作,如果有任何其他的方式来停止已经setTimeout函数的执行被调用,所以我可以再次调用它来有效地将时间重置为“延迟”的原始值。
与此同时,我不想停止任何其他并行运行的JS函数。
您是否看到更好的解决方案来实现这一目标?
当然,谢谢!这就是为什么它不起作用。谢谢 – Andrew