-
当多个函数调用同一个全局变量时,应用this属性区分开这个变量,使其不会相互影响调用;查看全部
-
var json={name1:value1,name2:value2}; for(var i in json){//循环遍历取出 i;//取出name json[i];//取出value }查看全部
-
json让一个物体的多个属性同时运动查看全部
-
offsetxxx属性值包含:元素长或宽+边框+内间距等等 当属性增多时offset就会出现问题,为了解决这些问题就用getStyle函数来代替offset查看全部
-
js只能获取到行内样式,而无法获取到内部样式或外部样式。 obj.style.xxxx获取的是行内样式。 获取内部或外部样式的方法: currentStyle 针对IE浏览器; getComputedStyle 针对firefox浏览器。查看全部
-
设置多物体动画效果,所有设置的变量、方法、属性都不能公用。查看全部
-
缓冲运动中:向上取整Math.ceil(),向下取整Math.floor() 由于数值设置的原因,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()取整。查看全部
-
透明度运动缓冲运动 人一直变化查看全部
-
可以再看10遍查看全部
-
完整运动框架demo,http://pan.baidu.com/s/1qYhSS1Y查看全部
-
jquery封装好的animate使用方法.查看全部
-
多物体运动,所有变量东西都不能共用查看全部
-
1.offsetWidth属性可以返回对象的padding+border+width属性值之和,style.width返回值就是定义的width属性值。 2.offsetWidth属性仅是可读属性,而style.width是可读写的。 3.offsetWidth属性返回值是整数,而style.width的返回值是字符串。 4.style.width仅能返回以style方式定义的内部样式表的width属性值。查看全部
-
<!-- 使用js实现透明度运动而不采用直接设置css的style.opacity属性来改变透明度,这是因为css的透明度的设置是一步到位,瞬时完成的,而使用js可以实现渐隐特效 --> opacity是不透明度,opacity为0时表示不透明度是0也就是完全透明(效果等同于css的隐藏) filter: alpha(opacity:30); /*IE浏览器专用,opacity属性值为0~100*/ opacity:0.3; /*所有主流浏览器都支持opacity属性。查看全部
-
js运动框架实现思路查看全部
举报
0/150
提交
取消