最新回答 / LioHD
flag=true应该定义在setInterval里面,思路是这样的:1.每次复用都将flag设为true,2.如果有未达到目标的这时将flag覆盖为false;3.在结束前判断flag为true 则清除虽然width到达了目标,但是opacity未达到目标 flag 被覆盖为 false,不能进入clearInterval的判断只有当所有的目标达到时,if(icurr != json[attr])的判断无法进入 flag 不能被设置为false,这时候flag为开始定义的true,随后clearInte...
2017-02-23
已采纳回答 / 韩侠
和后来讲解的小bug一样, 先变得宽, 再变的高, 如果宽先达到设定值, 关闭定时器, 就是视频中展示的效果, 停止不继续执行动画, 但是原来是把宽增加200px, 高增加100px, 所以是高先满足条件, 就停止了定时器, 之后宽度再次变化是因为鼠标再次移入, 触发了onmouseover事件, 然后宽度向着目标变化了一次, 之后看高度, 因为已经达到预定值, 就再次关闭计时器, 之后的几秒, 你可以看到当鼠标又再次滑到div上面的时候, 宽度实际上又变化了两三次的(我没有经过代码实际验证, 不过我想应...
2017-02-21
已采纳回答 / 尹为者
<!doctype html><html><head><meta charset="utf-8"><title>无标题文档</title></head><body><style>*{ margin:0; padding:0; } div{ width:200px; height:200px; background:red; bord...
2017-02-18
当减小的像素>2*border的像素 就能正常减小
border:4px solid black;
odiv.style.width=odiv.offsetWidth-9+'px'; 9>2*4
border:4px solid black;
odiv.style.width=odiv.offsetWidth-9+'px'; 9>2*4