运行2 JavaScript时出现问题”;“满负荷”;功能
我尝试在网页上运行两个JavaScript“onload”函数:一个可视计时器和一个自动刷新函数。我已经在我的网页中实现了这两个功能,但尽管计时器运行,但除非我从脚本中删除可视计时器功能,否则自动刷新功能将不会运行 以下是网页的代码:运行2 JavaScript时出现问题”;“满负荷”;功能,javascript,html,Javascript,Html,我尝试在网页上运行两个JavaScript“onload”函数:一个可视计时器和一个自动刷新函数。我已经在我的网页中实现了这两个功能,但尽管计时器运行,但除非我从脚本中删除可视计时器功能,否则自动刷新功能将不会运行 以下是网页的代码: <!DOCTYPE html> <HTML> <HEAD> <script type="text/JavaScript"> <!-- function timedRefresh(timeoutPeriod) {
<!DOCTYPE html>
<HTML>
<HEAD>
<script type="text/JavaScript">
<!--
function timedRefresh(timeoutPeriod) {
setTimeout("location.reload(true);",timeoutPeriod);
}
// -->
</script>
<TITLE>test</TITLE>
</head>
<body onload="JavaScript:timedRefresh(15000); timedText();">
<script>
window.onload = timedText;
function timedText() {
var txt = document.getElementById('txt'),
counter = 15;
var timer = setInterval(function () {
if(counter === 0) return clearInterval(timer);
txt.value = counter + " seconds";
counter--;
}, 1000);
}
</script>
<input type="text" id="txt" />
</body></HTML>
测试
window.onload=timedText;
函数timedText(){
var txt=document.getElementById('txt'),
计数器=15;
变量计时器=设置间隔(函数(){
如果(计数器===0)返回clearInterval(计时器);
txt.value=计数器+秒数;
计数器--;
}, 1000);
}
如果您能帮助解决此问题,我们将不胜感激。问题是第二个,而不是第一个。这就是您应该用来添加事件的内容
window.addEventListener('load', timedText, false);
window.addEventListener('load', function(){timedRefresh(15000);}, false);
如果您需要支持较旧的IEs,您需要查看
但是看看代码,为什么你要运行两个设置超时,而你需要做的就是当它达到零时调用重定向 尝试一个小改动:调用
timedRefresh()
在窗口内。onload的timetext()
函数不在body onload中
<!DOCTYPE html>
<HTML>
<HEAD>
<script type="text/JavaScript">
<!--
function timedRefresh(timeoutPeriod) {
setTimeout("location.reload(true);",timeoutPeriod);
}
// -->
</script>
<TITLE>test</TITLE>
</head>
<body>
<script>
window.onload = timedText;
function timedText() {
var txt = document.getElementById('txt'),
counter = 15;
timedRefresh(15000);
var timer = setInterval(function () {
if(counter === 0) return clearInterval(timer);
txt.value = counter + " seconds";
counter--;
}, 1000);
}
</script>
<input type="text" id="txt" />
</body></HTML>
测试
window.onload=timedText;
函数timedText(){
var txt=document.getElementById('txt'),
计数器=15;
timedRefresh(15000);
变量计时器=设置间隔(函数(){
如果(计数器===0)返回clearInterval(计时器);
txt.value=计数器+秒数;
计数器--;
}, 1000);
}
您可以使用addEventListener方法添加多个onload事件,如下所示:
window.addEventListener("load", timedText, false);
window.addEventListener("load", timedRefresh(15000), false);
function timedText() {
var txt = document.getElementById('txt'),
counter = 15;
var timer = setInterval(function() {
if (counter === 0) return clearInterval(timer);
txt.value = counter + " seconds";
counter--;
}, 1000);
}
function timedRefresh(timeoutPeriod) {
setTimeout("location.reload(true);",
timeoutPeriod);
}
您可以找到有关addEventListener的更多信息
这是。第二个优先于第一个
timedRefresh(15000)
位于正文“onload”中的timedText()
之前,并且计时文本是唯一有效的文本,除非我删除它,然后计时刷新才有效。