已采纳回答 / 东方既白233
这是因为你要确定你设置的多运动都完成后才去清除定时器,这个flag就是用来判断你设置的所有运动,比如高度宽度透明度是否都达到了目标值,flag才为true,否则之前flag会变成flase,不执行清除定时器<...图片...>
2017-04-05
最新回答 / 徐无敌
第一节只是让他动起来,这几行代码的意思是让他每隔30毫秒,往右移动speed个像素,不是连续的setInterval(function(){oDiv.style.left = oDiv.offsetLeft+speed+'px';},30)
2017-04-04
已采纳回答 / Tarol
你要是非要这么用的话,改写成var box=document.getElementsByClassName('box')[0];不加[0]的话,box得到的是一个dom对象数组,之后需要for循环遍历,你再回头把js关于dom章节的知识点看看吧,基础知识不掌握就急着做效果是不行的
2017-04-03
//产生了一个问题:当鼠标移入移出后在返回动画还没有完成时再次移入,
//clearInterval会结束掉上一个动作,结果会导致元素不在返回而是再次执
//行onmouseover事件同时触发计时器。
//那么,怎么才能让它完成返回动画之前,鼠标移入都不能触发计时器呢?
//这里需要加一个判断,但是怎么表示“完成返回动画之前”这个状态呢?
//想一想,元素在运动时什么属性在变化,没错!offsetLeft,也就是当前
//位置,就返回动画而言,这个当前位置是从0到-200,在这个范围内变化,
//clearInterval会结束掉上一个动作,结果会导致元素不在返回而是再次执
//行onmouseover事件同时触发计时器。
//那么,怎么才能让它完成返回动画之前,鼠标移入都不能触发计时器呢?
//这里需要加一个判断,但是怎么表示“完成返回动画之前”这个状态呢?
//想一想,元素在运动时什么属性在变化,没错!offsetLeft,也就是当前
//位置,就返回动画而言,这个当前位置是从0到-200,在这个范围内变化,
2017-04-03
//而弹出动画是-200到0,也就是说,当offsetLeft变化时,鼠标移入移出事
//件不允许触发,不对!
//不允许触发的话那设置这两个事件有什么意义,鼠标移出去之后还没有反
//应?这就与我们的目的相去甚远,那么有什么办法能让它不会“失控”整
//个元素“弹出来”或是缩得消失在屏幕上了呢?
//简单!让那个offsetLeft不小于-200不大于0就ok了!
//不过考虑到没有人无聊到会测试这个,我就不处理这个问题了
//件不允许触发,不对!
//不允许触发的话那设置这两个事件有什么意义,鼠标移出去之后还没有反
//应?这就与我们的目的相去甚远,那么有什么办法能让它不会“失控”整
//个元素“弹出来”或是缩得消失在屏幕上了呢?
//简单!让那个offsetLeft不小于-200不大于0就ok了!
//不过考虑到没有人无聊到会测试这个,我就不处理这个问题了
2017-04-03
已采纳回答 / 小狗旺旺
首先获取元素要在文档加载完成之后才能获取到的,其次是你那个速度是网页加载完成的时候输入的,所以要在点击事件里面获取,才能得到输入的速度值,这个值是个字符串用parseInt()转义下,speed是全局变量可以在函数里面使用,不用带进去<!DOCTYPE html><html><head><meta charset="UTF-8"><title>js动画制作</title><style type="text/css">#di...
2017-03-31