已采纳回答 / once829
var lis_style=window.getComputedStyle(obj,null), wd=lis_style.width;定义变量要放在定时器内部。放在外部的话,第一次传入定时器内的wd值为260,再一次执行定时器不会重新上诉代码,因此wd的值始终为260,所以效果显示出来就是停在了宽度为270的地方。
2016-07-02
最新回答 / Mooc陌蓠
可能是body默认的padding和margin没有清除,在css样式里面设置 *{padding:0; margin:0;}清空所有元素的默认边距避免影响我们的页面效果。
2016-07-02
已采纳回答 / 右下角_
问题出现当 触发onmouseleave 时,传入speed=5,而star_1 中的局部变量speed=5,由于itarget=-160<0,所以,speed=-speed,即此时局部变量speed=-5,而下一个50ms,由于itarget=-160<0不变,继续执行speed=-speed,即此时局部变量speed=5了,到此发现问题了,在定时器的作用下,speed会在5与-5之间来回变动,有没有达到任何 你设置的 停止条件,就出现了 无限制的抖动。而如果speed=-5,固定值 就不会...
2016-07-01
最新回答 / 简以凝
icur=Math.round(parseFloat(getStyle(obj,attr))*100);在这句程序中,getStyle是封装好的一个函数,里边就已经判断了IE和Firefox浏览器,这对不同的浏览器获取css属性。IE是currentStyle,Firefox是getComputedStyle.
2016-06-30
最新回答 / 风中过客
找了我半个小时。。你的flag 放到定时器里面。不然等到 if(json[attr]!=icur){ flag=false; }你的flag还是为false的时候, 你的flag 因为之前是false, 所以一直都是falsefunction startMove(obj,json,fn){ clearInterval(obj.timer); obj.timer=setInterval(function(){ var flag=true; for(var attr in...
2016-06-28
已采纳回答 / 紫菜中毒
2-1这节的运动是做匀速运动的,而且参数简化到剩下一个。 if(div.offsetLeft>目标值200){ speed=-10; //速度是10刚好会到0,如果速度是-8 是不是到最后还有一个余数 -4px//oDiv.style.left = oDiv.offsetLeft + speed + 'px'; 是不是 left就会有稍微有偏移量 ;反之亦然,所以会一直抖动。定时器是30ms启动一次,课程里面 已经是 left就是都到节点值 他就一直维持不动了。 比如你现在宽度 设置成 你...
2016-06-24
最赞回答 / 幽雪孤狐
简单看了下,代码的逻辑是通过JS创建个DIV,插入到body中,然后希望鼠标移入时透明度变为1,移出时再把透明度变回来,但此代码有几个致命错误,反映出楼主要对基本概念的理解要加强。1、通过创建插入的方法没有错,但是,这个时候创建的这个div有没有opacity属性呢?由newdiv.style.opacity可看出,楼主希望通过这个方法来获取div的opacity属性。但是,这个对象本身并没有这个属性啊,原因是楼主并没有通过newdiv.setAttribute来设置这个opacity属性。楼主可能认为在...
2016-06-23
已采纳回答 / 盛夏孤星
ali[i].onmouseover=function(){ startMove(this,'height',400); }和 ali[i].onmouseover=function(){ startMove(this,'width',400); }是同一个对象,它只能按顺序执行,不能同时执行,因此忽略了width
2016-06-23