Javascript-如何创建一个定时重定向按钮和一个不同的按钮来取消它
我有以下代码。按下第一个按钮会在10秒后将用户发送到不同的URL 然而,我也试图让第二个按钮取消重定向,如果在这10秒之前按下。这似乎不起作用,URL重定向仍然发生 我在网上寻找各种解决方案,但我无法找到任何可行的方法。我还尝试用setInterval/clearInterval和其他代码变体替换setTimeout/clearTimeout 我愿意完全更改代码,或者改用Jquery等。过去几天我一直在尝试这样做,因此非常感谢您的帮助 如果在按下第二个按钮后再次按下第一个按钮,重定向倒计时也可以从10秒开始,那也太好了。 JavascriptJavascript-如何创建一个定时重定向按钮和一个不同的按钮来取消它,javascript,html,jquery,redirect,onclick,Javascript,Html,Jquery,Redirect,Onclick,我有以下代码。按下第一个按钮会在10秒后将用户发送到不同的URL 然而,我也试图让第二个按钮取消重定向,如果在这10秒之前按下。这似乎不起作用,URL重定向仍然发生 我在网上寻找各种解决方案,但我无法找到任何可行的方法。我还尝试用setInterval/clearInterval和其他代码变体替换setTimeout/clearTimeout 我愿意完全更改代码,或者改用Jquery等。过去几天我一直在尝试这样做,因此非常感谢您的帮助 如果在按下第二个按钮后再次按下第一个按钮,重定向倒计时也可以
<script>
var redirectTime = "10000";
var redirectURL = "https://realmbound.com";
function timedRedirect() {
var timeoutHandle = window.setTimeout("location.href = redirectURL;",redirectTime);
}
function stopTimer() {
clearTimeout(timeoutHandle);
}
</script>
var redirectTime=“10000”;
var重定向URL=”https://realmbound.com";
函数timedRedirect(){
var timeoutHandle=window.setTimeout(“location.href=redirectURL;”,redirectTime);
}
函数stopTimer(){
clearTimeout(timeoutHandle);
}
HTML
单击我以获得定时重定向。
停止计时器。
您的timeoutHandle
在作用域函数中,您必须将其删除到全局作用域,以便在stopTimer()上访问它。
让重定向时间=“1000”;
让重定向URL=”https://realmbound.com";
让时间超越控制;
函数timedRedirect(){
timeoutHandle=window.setTimeout(“location.href=redirectURL;”,redirectTime);
}
函数stopTimer(){
clearTimeout(timeoutHandle);
}
单击我以获得定时重定向。
停止计时器。
您的解决方案是正确的,您唯一遗漏的是将timeoutHandle
变量作为全局作用域,以便stopTimer
函数可以访问它
以下是您的解决方案的工作固定版本:
希望有帮助;-)
<button onclick="JavaScript:timedRedirect()">Click me for a timed redirect.</button>
<button onclick="JavaScript:stopTimer()">Stop Timer.</button>