其实还有个逻辑错误,加入flag其实只是避免了前面一个样式达到目标值之后后面的样式不动,但是没有避免后面的样式先到达目标值导致的错误,求点赞
2016-07-07
额,老师用的offsetWidth来代表页面对象的cssWidth是不对的哦,并且说这是一个小bug,我要为offsetWidth喊冤。offsetWidth = width + borders + paddings。 建议先看下offsetWiths的定义。
2016-07-07
老师,我发现了一个问题,在鼠标离开时,如果在没有滑到0就离开的话,div直接就一直向左走了,可以把设置oDiv.offsetLeft<=-200,可以解决此问题
2016-07-06
已采纳回答 / 右下角_
抱歉啊,前面的回答,并没有解决你的问题,又看了下代码,发现问题就在 你把速度固定了,也就是当 width达到目标值400的时候,而height此时400 并没有达到目标值,定时器不会停止,下一次 而width的值就变成了410,大于了width的目标值400,而当 height达到目标值时,width的值也在逐渐增大,早就超出了目标值的400,这样就永远不会停止了,也就是说除非 width同时达到目标值,例如lis_over(oli,10,0,{width:400,height:400});否则都不会停止...
2016-07-05
已采纳回答 / 右下角_
width的第一次 onmouseover触发参数为 wd=260,itg=500,lg=0,满足 else if(wd<itg&&lg==0) 这个条件,自然就被你clear掉了
2016-07-04
已采纳回答 / once829
解决方法:var flag = true;这句要放在定时器内。原因:如果放在外面,第一次运行传入定时器内的flag值为true,第一遍检测下列代码时 if (icur != json[attr]){ flag = false; }返回的flag值为false,接下来30毫秒又重新执行一遍定时器,flag的值还是为false,直到icur全都等于json[attr]时flag的值依旧不变,因此不会执行停止定时器的代码。换句话说,定时器在重复执行spee...
2016-07-03
我又看了一遍,
我是这么理解的:当flag = true;设置在定时器内、for-in前也有不好的,
定时器每执行一次,都声明一个flag。(浪费啊)
而在
if(flag){.....}
else{ flag = true ;}此处重置 flag 会更好。
我是这么理解的:当flag = true;设置在定时器内、for-in前也有不好的,
定时器每执行一次,都声明一个flag。(浪费啊)
而在
if(flag){.....}
else{ flag = true ;}此处重置 flag 会更好。
2016-07-02
最新回答 / 当爱随风
IE 只能兼容 filter:alpha(opacity: xx) 的形式而谷歌: opacity: 0.x;就可以了;所以你说的alpha是为了兼容IE的透明度语句。这里即你就发了一小段不好判断是做什么透明的应用,反正是正对IE的。
2016-07-02