If语句只执行一次
If statement only execute once
例如,我有一个if语句,如果url#等于#Data-1 ,它会刷新部分
var Panelchecker = location.hash;
if (Panelchecker !== "#Data-1") {
window.setTimeout(function(){
location.reload();
},1000);
}
这会导致一个无限循环,我该如何修复它?
p.S:我不想做一个检查器
var Panelchecker = location.hash;
var checker = "1";
if (Panelchecker !== "#Data-1") {
window.setTimeout(function(){
location.reload();
checker="0";
},1000);
}
我不想要上面的方法
您应该更改位置,而不是重新加载它,因为URL中仍然有那个散列,它将强制进行另一次刷新,又一次刷新。。。
有很多方法可以做到这一点,例如,这将从URL中删除哈希:
location = location.pathname;
Btw。您的代码设置为仅当hash不是#Data-1
时刷新页面,但您说的是"which refresh the section if the url# is equal to #Data-1"
。
顺便说一句,你代码中的checker不会有任何作用,因为刷新一发生它就死了。
首先,如果url# is equal to #Data-1
。因此应该使用===
而不是!==
。
接下来,
这会导致一个无限循环
因为CCD_ 6没有移除url的散列部分。Panelchecker === "#Data-1"
在每次刷新页面时变为true。
另一件事是使用window.setTimeout()
方法是无用的,因为页面正在重新加载。
所以这将解决你的问题
var Panelchecker = location.hash;
if (Panelchecker === "#Data-1") {
window.location.href = location.pathname;
}
相关文章:
- Javascript返回值只在循环中返回一次
- Jquery FadeIn FadeOut 只工作一次
- Javascript html每点击一次就会更改url
- 如何在chrome扩展中存储数据/结果,以及如何使用setTimeout使其只被调用一次
- Rails操作只调用一次,但我在ajax中每秒钟都调用一次
- If语句只执行一次
- 为什么这个 JavaScript switch 语句(在 for 循环内)保留了上一次迭代的值
- 在 JavaScript 中,当一次声明多个变量时,仅使用一个 var 语句是否有内存优势
- Javascript - 我如何让一个语句工作一次,如果它已经工作了 1 次,则不能工作,然后再次工作
- jQuery 只执行一次 if 语句并解包元素
- 是switch语句的表达式,每次求值一次或对每种情况求值一次
- JavaScript -使用switch语句创建一个每隔3秒更改一次的广告
- 你是怎么做到“再来一次”的?JavaScript语句
- If语句在javascript中只检查变量值一次
- For语句在最后一次赋值时返回意外值
- JQuery或JavaScript是否有下一个语句/函数可以跳到循环的下一次迭代
- for 循环,包括 if else 语句仅返回最后一次迭代.怎么办?(JavaScript)
- addEventListener “click” 只使用 if 语句运行一次
- 运行IF语句一次
- setInterval中的If语句只工作一次