我能';不要让javascript上的计时器重定向到另一个页面
我会尽量简短 我对编程几乎一无所知,我正试图为个人项目自学。 我正在尝试做一些类似计时器的事情,当它达到0时,会重定向到另一个页面。到目前为止,我成功构建的是:我能';不要让javascript上的计时器重定向到另一个页面,javascript,performance,Javascript,Performance,我会尽量简短 我对编程几乎一无所知,我正试图为个人项目自学。 我正在尝试做一些类似计时器的事情,当它达到0时,会重定向到另一个页面。到目前为止,我成功构建的是: <!DOCTYPE html> <html> <body> <input type="text" id="txt"> <body onload="startCount()"> <script> var c = 10; var t ; var timer
<!DOCTYPE html>
<html>
<body>
<input type="text" id="txt">
<body onload="startCount()">
<script>
var c = 10;
var t ;
var timer_is_on = 0;
function timedCount() {
document.getElementById("txt").value = c;
c = c - 1;
t = setTimeout(timedCount, 1000);
}
function startCount() {
if (!timer_is_on) {
timer_is_on = 0;
timedCount();
}
}
</script>
</body>
</html>
var c=10;
变量t;
var定时器_为_on=0;
函数timedCount(){
document.getElementById(“txt”).value=c;
c=c-1;
t=设置超时(timedCount,1000);
}
函数startCount(){
如果(!计时器打开){
定时器_为_开=0;
timedCount();
}
}
当我在chrome上试用时,它不会运行,或者会立即跳转到另一个页面。
如果你能告诉我出了什么问题,或者如何修复它,那就太好了
现在,我刚刚发现(?)我丢失了重定向的另一部分。我用过这个
<script>
function myFunction() {
location.replace("https://www.w3schools.com")
}
</script>
函数myFunction(){
位置。替换(“https://www.w3schools.com")
}
我不知道我的解释是否正确,但我感谢你的帮助
谢谢
编辑:谢谢大家的回答!!现在已修复。在timedCount中检查C的值是否大于0,否则运行setTimeout(小于或等于0)重定向 此外,我认为您的意思是在此处将计时器更新为1:
function startCount() {
if (!timer_is_on) {
timer_is_on = 0; //Shouldn't this be set to 1?
timedCount();
}
}
在timedCount中,检查C的值是否大于0,否则运行setTimeout(小于或等于0)重定向 此外,我认为您的意思是在此处将计时器更新为1:
function startCount() {
if (!timer_is_on) {
timer_is_on = 0; //Shouldn't this be set to 1?
timedCount();
}
}
我认为您要做的是每秒更新输入框中计时器的值,直到它达到零,然后重定向到另一个URL 这将起到必要的作用: (我删除了一些不需要的未使用代码)
var timeLeft=10;
函数timedCount(){
document.getElementById(“txt”).value=timeLeft;
如果(时间限制){
setTimeout(函数(){
时间限制--;
timedCount();
}, 1000);
}否则{
window.location=https://w3schools.com';
}
}
timedCount();
我认为您要做的是每秒更新输入框中计时器的值,直到它达到零,然后重定向到另一个URL
这将起到必要的作用:
(我删除了一些不需要的未使用代码)
var timeLeft=10;
函数timedCount(){
document.getElementById(“txt”).value=timeLeft;
如果(时间限制){
setTimeout(函数(){
时间限制--;
timedCount();
}, 1000);
}否则{
window.location=https://w3schools.com';
}
}
timedCount();
我相信这可能是一种方法
<!DOCTYPE html>
<html>
<body>
<input type="text" id="txt">
<body onload="startCount()">
<script>
var c = 10;
var t ;
var timer_is_on = 0;
function timedCount() {
document.getElementById("txt").value = c;
c--;
t = setTimeout(timedCount, 1000);
if(c <= 0) {
window.location.href = "https://www.w3schools.com/";
}
}
function startCount() {
if (!timer_is_on) {
timedCount();
}
}
</script>
</body>
</html>
var c=10;
变量t;
var定时器_为_on=0;
函数timedCount(){
document.getElementById(“txt”).value=c;
c--;
t=设置超时(timedCount,1000);
如果(c我相信这可能是一种方法
<!DOCTYPE html>
<html>
<body>
<input type="text" id="txt">
<body onload="startCount()">
<script>
var c = 10;
var t ;
var timer_is_on = 0;
function timedCount() {
document.getElementById("txt").value = c;
c--;
t = setTimeout(timedCount, 1000);
if(c <= 0) {
window.location.href = "https://www.w3schools.com/";
}
}
function startCount() {
if (!timer_is_on) {
timedCount();
}
}
</script>
</body>
</html>
var c=10;
变量t;
var定时器_为_on=0;
函数timedCount(){
document.getElementById(“txt”).value=c;
c--;
t=设置超时(timedCount,1000);
如果(c)要重新编辑页面,请设置window.location=“”https://www.w3schools.com“
timer\u是开着的
永远都是0,所以如果(!timer\u是开着的){…”
是无用的,因为0的计算结果始终为false。您没有在代码中的任何地方调用myFunction
,因此不清楚代码将如何立即重定向。请回答问题以显示代码的实际情况。@adnbsrlocation.replace(url)
也将重定向,它只是替换浏览器历史记录中的当前URL。请编辑您的问题并添加完整的代码,包括在何处使用新功能进行实际重定向?以及为什么html中有2个元素?要重定向页面,请设置window.location=“”https://www.w3schools.com"
timer\u是开着的
永远都是0,所以如果(!timer\u是开着的){…}
是无用的,因为0的计算结果始终为false。您没有在代码中的任何地方调用myFunction
,因此不清楚代码将如何立即重定向。请回答问题以显示代码的实际情况。@adnbsrlocation.replace(url)
也将重定向,它只会替换浏览器历史记录中的当前URL。请编辑您的问题并添加完整的代码,包括在何处使用新功能进行实际重定向?以及为什么html中有2个元素?