function getStyle(obj, attr) {
return obj.currentStyle ? obj.currentStyle[attr] : getComputedStyle(obj, false)[attr];
}
function startMove(obj, json, fn) {
clearInterval(obj.timer);
obj.timer = setInterval(function() {
var bStop = true; //这一次运动结束——————所有值都到达了
for(var attr in json) {
//1.取当前的值
var iCur = 0;
if(attr == 'opacity') {
var iCur = parseInt(parseFloat(getStyle(obj, attr)) * 100);
}
else {
var iCur = parseInt(getStyle(obj, attr));
}
//2.计算速度
var iSpeed = (json[attr] - iCur)/6;
iSpeed = iSpeed>0?Math.ceil(iSpeed):Math.floor(iSpeed);
//3.检测停止
if(iCur != json[attr]) {
bStop = false;
}
if(attr == 'opacity') {
obj.style.filter = 'alpha(opacity:' + (iCur + iSpeed) +')';
obj.style.opacity = (iCur + iSpeed)/100;
}
else {
obj.style[attr] = iCur + iSpeed + 'px';
}
}
if(bStop) {
clearInterval(obj.timer);
if(fn) {
fn();
}
}
}, 30);
}
JavaScript运动框架
最新推荐文章于 2018-10-26 23:29:44 发布