js实现颜色转换,却总是只显示最后一个颜色!

Feng_Ellick 2017-03-19 06:52:59

如上图:本来是想在sleep期间,box的动画应该是上一句设置的颜色。但是每次执行,并不会出现颜色的切换效果。只会出现最后的黄颜色效果,这是什么机制呢?
...全文
180 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
Feng_Ellick 2017-03-19
  • 打赏
  • 举报
回复
代码地址: https://github.com/FisNew/Task-For-IFE/blob/master/binbin/task7/task7.html
Feng_Ellick 2017-03-19
  • 打赏
  • 举报
回复
引用 4 楼 xzy21com 的回复:
btnTurn.onclick = function (){
box.style.background = "red";
setTimeout(function(){
box.style.background = "blue";
},500);
setTimeout(function(){
box.style.background = "yellow";
},1000)
}
明白,用while确实不好。同二楼回复,我的本意是实现动态遍历二叉树,有兴趣的话可以帮忙看一下。
scscms太阳光 2017-03-19
  • 打赏
  • 举报
回复
btnTurn.onclick = function (){
box.style.background = "red";
setTimeout(function(){
box.style.background = "blue";
},500);
setTimeout(function(){
box.style.background = "yellow";
},1000)
}
Feng_Ellick 2017-03-19
  • 打赏
  • 举报
回复
引用 1 楼 showbo 的回复:
用计时器,用while来挂起代码执行坐不了,浏览器器会假死
while循环时代码会被挂起,这个我理解了!我最先想要实现的效果是,遍历二叉树,然后访问节点时改变颜色,因为计时器的异步性,所以起不到想要的效果。不知道你有没有兴趣帮忙看一下。
Feng_Ellick 2017-03-19
  • 打赏
  • 举报
回复
一楼的回答看懂了,while循环时代码会被挂起,这个我理解了!我最先想要实现的效果是,遍历二叉树,然后访问节点时改变颜色,因为计时器的异步性,所以起不到想要的效果。不知道你有没有兴趣帮忙看一下。
  • 打赏
  • 举报
回复
用计时器,用while来挂起代码执行坐不了,浏览器器会假死

87,993

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧