Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/87.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在显示倒计时的特定时间后重定向到另一页_Javascript_Html - Fatal编程技术网

Javascript 在显示倒计时的特定时间后重定向到另一页

Javascript 在显示倒计时的特定时间后重定向到另一页,javascript,html,Javascript,Html,我正在尝试在特定时间后重定向此按钮。但是在重定向之前,倒计时无法开始。我希望它在5秒或10秒后被重定向。但请记住window.location应该在HTML元素中 函数myFunction(){ var button=document.getElementById('button'); addEventListener('click',function(){ var i=0; var tt=setInterval(函数(){ i=i+1; var计数器=5-i; button.innerHTM

我正在尝试在特定时间后重定向此按钮。但是在重定向之前,倒计时无法开始。我希望它在5秒或10秒后被重定向。但请记住window.location应该在HTML元素中

函数myFunction(){
var button=document.getElementById('button');
addEventListener('click',function(){
var i=0;
var tt=setInterval(函数(){
i=i+1;
var计数器=5-i;
button.innerHTML='您将在:'+计数器之后重定向;
如果(计数器==0){
净间隔(tt);
}
},1000);
});};

您可以将var
i
置于函数外部。因此,
计数器
也会增加

也不要使用内联事件处理程序(如果可能)-
仅当
if
条件中的条件满足时才重定向

将重定向
URL
作为参数传递,并访问
myFunction(URL)

演示:

var i=0;
函数myFunction(url){
var tt=setInterval(函数(){
i=i+1;
var计数器=6-i;
button.innerHTML='您将在:'+计数器之后重定向;
如果(计数器==0){
净间隔(tt);
window.location=url//重定向到此处
}
}, 1000);
};

我会这样做。 5是要在之后重定向的秒数

document.getElementById('btn').addEventListener(“单击”,()=>{
设i=1;
设置间隔(()=>{
如果(i==5){
window.location.href=”https://google.com"
}
document.getElementById('btn').innerHTML=`在${5-i}秒内重定向`
i++;
}, 1000);
});

单击以重定向

我将使用“数据”属性选择2020选项,请参见下面的示例。属性的命名应该具有足够的描述性。如果有任何问题,请告诉我

单击以重定向
函数myFunction(e){
e=e | | window.event;
var$this=e.target | e.src元素| e;
如果($this.nodeType==3)$this=$this.parentNode;//击败Safari bug,https://stackoverflow.com/questions/1553661/how-to-get-the-onclick-calling-object
var secondstoredirect=$this.getAttribute(“数据secondstoredirect”),
重定向余秒=(secondstoredirect*1000),
urlToRedirect=$this.getAttribute(“数据urlToRedirect”);
$this.innerHTML='您将在以下时间后被重定向:'+redirectAfterSeconds;
var tt=设置间隔(函数(){
window.location.href=urlToRedirect;
},秒);
}

标记无效,不允许使用内部标记。虽然没有
href
属性的
a
不是交互式的。。。锚定的onclick立即重定向,在清除间隔行后,将
window.location=…
移动到
myFunction
。“但是记住window.location应该在HTML元素中”为什么?首先是你。有很多方法可以在不使用内联侦听器的情况下将下载所需的信息包含到元素中,也有很多方法可以仅将URL存储在JS中,并连接存储的数据和单击的按钮。