-
在做缓冲运动的时候记得把数值去整;因为浏览器会自动忽略小数点后面的取值查看全部
-
css透明度 filter: alpha(opacity:30); /*IE浏览器专用,opacity属性值为0~100*/ opacity:0.3; /*所有主流浏览器都支持opacity属性。.查看全部
-
先暂停,去看游戏的实质查看全部
-
运动框架实现思路查看全部
-
链式运动: 在封装函数后面加上一个函数在执行玩前面函数的时候执行下一个函数:查看全部
-
多物体运动:每个物体都需要单独的计时器:查看全部
-
json:轻量级数据交换格式 使用json来完成轻量级数据交换,即多个运动同时发生。json的一般形式为obj={name:value},不同的name值中间用逗号隔开,里面是一对一对的值,固定循环形式为for(in) 且for-in 循环要在定时器里,例如 for (var i in obj){ alert(i);/弹出对象是name的值 alert(obj[i]);/弹出对象是value的值 } 1、flag=true,应该立在定时器内,json的for遍历前; 2、if(flag){clearInterval(obj.timer);if(fn){fn()}}应该放在定时器内,json的for遍历后; 因为当三个iCur==json[attr],flag==false,之后一次执行定时器时,会将flag变为true,则变成true状态,for遍历中的结果并不会被执行,等于空运行一次for遍历后,true被带到if(flag){if(fn){fn()}},中执行关闭定时器和fn(),如果吧if(flag){...}放在for遍历中,最后fn()会被执行三次,for遍历的特性查看全部
-
在做缓冲运动的时候记得把数值去整;因为浏览器会自动忽略小数点后面的取值 Math。floor();向下取整 Math。ceil();向上取整查看全部
-
使用js来实现透明度而不采用css设置透明度:因为css是一步完成的js可以实现渐隐特效 opacity是不透明度,为0时表示不透明相当于css隐藏 filter:alpha(opacity:30)ie专属属性值为0~100 opacity:0.3;所有浏览器都支持的opacity属性: 没有值直接的属性可以改变透明度需要定义一个alpha查看全部
-
js动画实现效果; 1速度改变的是物体属性的值2:缓冲运动3:多物体运动4:任意值变化5:链式运动:6:同时运动查看全部
-
加边框每次缩小像素 要大于 边框像素, 否者请用 ParseInt包裹查看全部
-
加边框每次缩小像素 要大于 边框像素, 否者请用 ParseInt包裹查看全部
-
这章节要多看几遍查看全部
-
offset 属性有bug , 加了边框或其他样式后会导致出问题,要用 getStyle函数查看全部
-
由于数值设置的原因,div移动到一定px后,进行相减再除20的运算后会出现小数,比如0.75,比如这时div移动到了290,程序里写到div的left=oDiv.offsetLeft+speed+'px',那么div的left就是290.75px,此时speed速度为0.75。而浏览器是不允许出现小数的,会把0.75去掉,那么就速度为0 不动了。那么div的left就变成了290,下次执行时div的left是290,算出来速度还是0.75,浏览器又省略了小数,结果就是div停在了290px,到不了目标点300。 所以 向右移动 速度为正 就将变成小数的速度 向上取整 为1 向左移动 速度为负 就将变成负小数的速度向下取整 取整原因:因为有除法,当offsetLeft值变的越来越小时,最后相除会使speed变成小数,从而offsetLeft与speed相加会有小数,又因显示器的最小像素单位是1px,所以浏览器默认向下取整(变小,即floor),将小数省略,小数省略后,最终的值会变小,从而导致程序无法进入if判断,进入死循环。 这一点可以用console.log(speed)可以验证,speed的log会一直输出,因为程序死循环了 Math.floor()向取整; Math.ceil()向上取整; Math.round()四舍五入; var speed = speed>0?Math.ceil(speed):Math.floor(speed); 如果(目标值-当前值)/10 不能整除的话。运动到最后,是1~9之间的数字来除以10,结果是个小于1的小数,如果用Math.floor(speed)向下取整,那就是0,speed=0,意味着不再发生变化。也就是说,当速度大于0的时候,如果用Math.floor(speed),最后不到10个像素的时候,就不会动了。所以要用Math.ceil向上取整。同理,当速度<0时,要用Math.ceil()取整。查看全部
举报
0/150
提交
取消