-
浏览器针对查看全部
-
setInterval无法执行问题已解决,代码太长,放不到笔记上,已放博客http://blog.csdn.net/need_just_word/article/details/79032185查看全部
-
获取样式的函数getStyle,一个是IE,一个是火狐。查看全部
-
多物体运动时,变量不能共用,必须编号。查看全部
-
offsetleft是当前的left的值。查看全部
-
获取样式: function getStyle(obj, attr) { if (obj.currentStyle) { return obj.currentStyle[attr]; } else { return getComputedStyle(obj, false)[attr]; } }查看全部
-
运动框架实现思路查看全部
-
那个IEEE754的出错解释,完全没有指出根本原因,看起来仅仅是搬运别人的知识。 实际上出错的根本原因是,十进制小数不一定能等价地转换为二进制小数。 比如:0.7转化为二进制小数是0.101100110011001100...这个无限循环小数。 所以当0.7存入内存中时,实际上存入的是类似0.70000...00001,7后面有多少个零取决于所使用语言的浮点数精度。查看全部
-
获取样式查看全部
-
运动框架实现思路: 1.速度(改变值Left、right、width、height、opacity) 2.缓冲运动 3.多物体运动 4.任意值变化 5.链式运动 (如:先宽后高) 6.同时运动 (如:宽高同时运动)查看全部
-
js只能获取到行内样式,而无法获取到内部样式或外部样式。 obj.style.xxxx获取的是行内样式。 获取内部或外部样式的方法: currentStyle 针对IE浏览器; getComputedStyle 针对firefox浏览器。查看全部
-
多物体动画不能用公用计时器、公用元素,需定义在每个obj中,div.timer div.alpha查看全部
-
function getStyle(obj, attr){ if(obj.currentStyle){ return obj.currentStyle[attr]; }else{ return getComputedStyle(obj, false)[attr]; } } function moveStart(obj, json, fn){ clearInterval(obj.timerId); obj.timerId = setInterval(function(){ var flag = true; for(var key in json){ var cur; if(key == 'opacity'){ cur = Math.round(parseFloat(getStyle(obj, key)*100)); }else{ cur = parseInt(getStyle(obj, key)); } var speed = cur < json[key] ? Math.ceil((json[key] - cur)/20) : Math.floor((json[key] - cur)/20); if(cur != json[key]){ flag = false; if(key == 'opacity'){ obj.style.opacity = (cur+speed)/100; obj.style.filter = "alpha(opacity=" + (cur+speed) + ")"; }else{ obj.style[key] = cur + speed + "px"; } } } if(flag){ clearInterval(obj.timerId); if(fn){ fn(); } } }, 30); }查看全部
-
Math.ceil(speed )向上取整 Math. floor(speed )向下取整查看全部
-
speed为负其实代表的不是移动速度,而是要减去的px查看全部
举报
0/150
提交
取消