我正在学习Javascript,我遇到了困难,并且理解为什么我编辑的一段代码(见下文)没有用。目的很简单 - 我想创建一个停止并再次运行时间的按钮。我甚至打印文字以确保我的代码进入'如果'和'其他'语句,但clearInterval似乎不起作用。非常感谢!
(*原始代码属于w3schools,我添加了"循环功能"只是为了看它是否有用,并且它没有;()
这是代码:
<!DOCTYPE html>
<html>
<body>
<p>A script on this page starts this clock:</p>
<p id="demo"></p>
<button onclick="checkTime()">Stop time/Start time again</button>
<p id="test"></p>
<script>
var myCounter = 0;
var myVar = setInterval(myTimer ,1000);
function myTimer() {
var d = new Date();
document.getElementById("demo").innerHTML = d.toLocaleTimeString();
}
function checkTime() {
myCounter += 1;
if (myCounter == 1) {
clearInterval(myVar);
document.getElementById("test").innerHTML = "ok";
} else {
var myVar = setInterval(myTimer ,1000);
myCounter = 0;
document.getElementById("test").innerHTML = "clicked again";
}
}
</script>
</body>
</html>
谢谢!
答案 0 :(得分:2)
从第二个var
var myVar = setInterval...
第二个是作用于你的功能和&#34;覆盖&#34;第一个......
function checkTime() {
myCounter += 1;
if (myCounter == 1) {
clearInterval(myVar);
document.getElementById("test").innerHTML = "ok";
} else {
myVar = setInterval(myTimer ,1000);
myCounter = 0;
document.getElementById("test").innerHTML = "clicked again";
}
}
答案 1 :(得分:1)
快速浏览一下你的代码,但我注意到你正在重新声明你的function properly_add_your_scripts() {
wp_register_script( 'smooth_div_scroll', get_template_directory_uri() . '/js/smoothDivScroll.js', array('jquery'), '1.0.0', true ); // True to add it in footer (recommended)
wp_enqueue_script('smooth_div_scroll');
}
add_action( 'wp_enqueue_scripts', 'properly_add_your_scripts' );
变量,这是由于javascript中的一个时髦功能myVar
而被清除的变量{ {3}}
尝试以下方法......
clearInterval