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>
展开
 我来答
五指山的小妖
2016-07-18 · 超过30用户采纳过TA的回答
知道答主
回答量:72
采纳率:100%
帮助的人:17.5万
展开全部
再次点击按钮之前先清除一下之前开的定时器,像下面这样你试试 ,不知道是不是你说的效果,我也是新手 试着帮忙解答一下
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";
......
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式