Javascript为运动框架创建实现代码。
包装的运动框架移动(obj,属性、指标)可以直接调用:它可以用来设置许多共同的属性值如宽度、边框、字体的变化,marginleft、透明度等,从而实现各种有趣的效果。
与IE和FF兼容。
复制代码代码如下所示:
/ ****************
*
* ie-bug:
*在伊江中,设置不透明属性时,在元素样式中设置不透明属性以读取不透明值。
*
*目标:元素对象。属性:属性名称,周围环绕着一个报价mark.itarget:属性的目标值。
*
***************** /
功能移动(obj,属性、指标){
ClearInterval(obj。定时器); / /前一个定时器关闭,解决使用多个移动相同的对象(),该timer.obj.timer是用来分配给每个定时器每个对象调用移动()。它可以防止多个对象同时调用移动(),并导致与计时器相关的干扰。
obj。定时器= setInterval(){()函数(
无功电流= 0; / /创建一个变量来存储属性的属性值的所有时间
如果(attr = =不透明度){
在浮点数数值问题的FF不透明度属性值中,属性值为四到五个家庭,转换为浮点,乘以100,将不透明度属性值与IE的百分比统一起来。
电流= math.round(parseFloat(getstyle(obj,ATTR))* 100);
其他{ }
电流= parseInt(getstyle(obj,ATTR)); / /属性除了混浊(宽度/字体/ marginleft)初始值转换为整数
}
速度= / 10(ITarget CUR); / /变速速度下降造成的。改变属性值的变量的变化
速度=速度> 0math.ceil(速度):Math.floor(速度); / /舍入,小于1px忽略浏览器在移动端的数值解,从目标价值指标几个像素的问题
如果(指标= =我){ / /当目标值等于目标值时,定时器超时
ClearInterval(obj。定时器);
其他{ }
当前速度;递减值加上当前速度
如果(attr = =不透明度){
IE和FF设置不透明属性的值。
obj。风格。过滤器=Alpha(透明度:+我+ ); / / IE
obj。风格。不透明度=电流 / 100; / / FF
其他{ }
obj。风格{属性} =电流+PX; / /指定属性值的增加电流+速度属性
}
}
},30);
}
/ / getstyle()函数用于IE和FF兼容:能在非线式的属性的对象的值。对象:对象名称:属性名称的元素。
功能getstyle(obj,name){
如果(obj。currentstyle){
返回的对象。currentstyle {姓名}; / / IE
其他{ }
返回getcomputedstyle(obj,false){姓名}; / / FF
}
}