封装变速函数
程序员文章站
2024-03-17 11:51:22
...
function getStyle(element,attr){
return window.getComputedStyle ? window.getComputedStyle(element,null)[attr]:element.currentStyle[attr];
}
function biansu(element,json,fn) {
clearInterval(element.timeId)
element.setInterval(function () {
var flag=true
for (var attr in json){
var current=parseInt(getStyle(element,attr))
var target=json[attr];
var step=(target-current)/10;
step=step>0?Math.ceil(step):Math.floor(step);
current+=step;
element.style[attr]=current+"px";
if (current!=target){
flag=false;
}
}
if (flag){
clearInterval(element.timeId);
if (fn){
fn();
}
}
},20)
}
上一篇: 原生JS封装AJAX函数