JS这个效果这么写对吗?
就是想让这个div点击按钮一秒后变成红色再过一秒后再变回原来的颜色这样写对吗?为什么连续多点几次按钮后这个变色就会很快不到一秒就变色而且不按按钮后这个div的红色也是一闪...
就是想让这个div点击按钮一秒后变成红色 再过一秒后再变回原来的颜色 这样写对吗?为什么连续多点几次按钮后这个变色就会很快 不到一秒就变色 而且不按按钮后这个div的红色也是一闪一闪的 这是为什么?我这个应该怎么改?
<!DOCTYPE html>
<html>
<head>
<title></title>
<style type="text/css">
#div1{width: 200px;height: 100px;background-color: blue;}
</style>
<script type="text/javascript">
window.onload=function(){
var oBtn1=document.getElementById("btn1");
var oDiv1=document.getElementById("div1");
oBtn1.onclick=function(){
timer=setInterval(function(){
oDiv1.style.background="red";
setInterval(function(){
oDiv1.style.background="blue";
},1000);
clearInterval(timer);
},1000);
}
}
</script>
</head>
<body>
<button id="btn1">aaa</button>
<div id="div1"></div>
</body>
</html> 展开
<!DOCTYPE html>
<html>
<head>
<title></title>
<style type="text/css">
#div1{width: 200px;height: 100px;background-color: blue;}
</style>
<script type="text/javascript">
window.onload=function(){
var oBtn1=document.getElementById("btn1");
var oDiv1=document.getElementById("div1");
oBtn1.onclick=function(){
timer=setInterval(function(){
oDiv1.style.background="red";
setInterval(function(){
oDiv1.style.background="blue";
},1000);
clearInterval(timer);
},1000);
}
}
</script>
</head>
<body>
<button id="btn1">aaa</button>
<div id="div1"></div>
</body>
</html> 展开
展开全部
再次点击按钮之前先清除一下之前开的定时器,像下面这样你试试 ,不知道是不是你说的效果,我也是新手 试着帮忙解答一下
var oBtn1=document.getElementById("btn1");
var oDiv1=document.getElementById("div1");
var timer=null;
oBtn1.onclick=function(){
clearInterval(timer);
timer=setInterval(function(){
oDiv1.style.background="red";
......
var oBtn1=document.getElementById("btn1");
var oDiv1=document.getElementById("div1");
var timer=null;
oBtn1.onclick=function(){
clearInterval(timer);
timer=setInterval(function(){
oDiv1.style.background="red";
......
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询