-
获取样式查看全部
-
使用JQ实现纵向滚动一圈的效果查看全部
-
纵向滚动一圈效果:减小top -> 设置top为一个较大的固定值 -> 减小top至原值查看全部
-
JSON:一种轻量级的数据交换格式,格式为{"name":value, ...}。 视频里其实用的是对象字面量(var obj = {name:value, ...};),而不是JSON。 取值:for(var key in obj) var value = obj[key]; 使用对象来实现多属性同时运动:{attr1:iTarget1, attr2:iTarget, ...}。 需要在startMove(obj,json,fn)里用一个flag变量来表示是否所有属性都已达到目标值;当flag==true(即都已达到),则结束动画。查看全部
-
如果同时调用多个startMove函数,后面的startMove会清除掉前面的startMove的定时器(因为startMove函数中第一句就是clearInterval)。因此实际只有最后一个startMove被执行了。查看全部
-
改变大小查看全部
-
链式动画:一个动画执行完毕后,紧接着自动执行另一个动画。 实现:给startMove函数添加一个参数func,用于传入一个函数。查看全部
-
解决startMove(obj,attr,iTarget)函数的两个bug: 1、当attr为opacity时,parseInt获取值可能永远为0;因此代码修改为: if(attr == "opacity"){ icur = Math.round(parseFloat(getStyle(obj,attr)) * 100; } else{ icur = parseInt(getStyle(obj,attr), 10); } 2、当attr为opacity或其他非px单位的属性时,obj.style[attr]显示值单位异常;因此代码修改为: if(attr == "opacity"){ obj.style.filter = "filter:alpha(opacity:" + (icur + speed) + ")"; obj.style.opacity = (icur + speed) / 100; } else{ obj.style[attr] = icur + speed + "px"; } 注意: 1、计算机不能精确处理浮点数,因此浮点数一般不用来做比较或一些精确度要求较高的计算;因此此处的parseFloat值还要用Math.round四舍五入一下。 2、parseInt的第二个参数(表示进制)最好写上。如果第一个参数是字符串,那么parseInt会将"0x"开头的string当做16进制数、将"0"开头的string当做8进制数。 3、parseInt和parseFloat要求string的第一个字符必须为数字,否则返回NaN;parseInt会将string中的第一个非数字字符及其后的字符全部丢弃,而parseFloat会将string中的第一个非数字字符(除了第一个点号及点号后紧跟的数字)及其后的字符全部丢弃。 4、当+运算的一边为字符串时,会优先执行字符串连接操作,因此有数学运算时最好用括号包含或用另一个变量表示。查看全部
-
只要是多物体运动,都不能共用初始化的变量 包括定时器和透明度初始值查看全部
-
offsetXXX系列属性都会有一些bug(比如有border属性时,offsetWidth和offsetHeight取值异常),所以读取样式一般使用currentStyle(限IE,相当于style+runtimeStyle)或getComputedStyle(FF返回原始值,webkit返回最终值)。查看全部
-
涉及到速度的,一定要记得向上或者向下取整 Math.floor():向下取整 Math.ceil():向上取整查看全部
-
offsetLeft 获取的是相对于父对象的左边距 left 获取或设置相对于 具有定位属性(position定义为relative)的父对象 的左边距查看全部
-
<element>.style.<attribute>:用于获取内联样式(又称行内样式)的属性值。 getComputedStyle(<element>,false).<attribute>:用于最终样式的只读属性值,不兼容IE9-。 <element>.currentStyle.<attribute>:用于IE9-获取当前样式的属性值。 通用获取样式的函数: function getStyle(ele, attr){ return ele.currentStyle ? ele.currentStyle[attr] : getComputedStyle(ele, false)[attr]; }查看全部
-
多物体运动时,其运动的属性和计时器id等都不可共用,以防争抢资源。 需要用类似于“obj.timer”的格式传递和修改参数。查看全部
-
透明度: opacity:0.3; /* IE9+和非IE浏览器,值为0~1 */ filter:alpha(opacity=30); /* IE8-,值为0~100 */查看全部
举报
0/150
提交
取消