move.js
//一次改進版//function move(obj, attr, end, start, stepNum) {//// var speed = (end - start) / stepNum;// this.time = setInterval(function() {// start += speed;// if (start >= end && speed > 0) {// clearInterval(this.time);// start = end;// }// if (start <= end && speed < 0) {// clearInterval(this.time);// start = end;// }// obj.style[attr] = start + "px";// }, 10)//}function getStyle(obj,attr){ if(obj.currentStyle){ return obj.currentStyle[attr] }else{ return getComputedStyle(obj)[attr]; }}//二次改進版function move(obj, attr, end,stepNum,fn) { var start = parseInt(getStyle(obj,attr)); var speed = (end - start) / stepNum; clearInterval(obj.time); obj.time = setInterval(function() { start += speed; if (start >= end && speed > 0) { clearInterval(obj.time); start = end; if(fn){ fn(); } } if (start <= end && speed < 0) { clearInterval(obj.time); start = end; if(fn) { fn(); } } obj.style[attr] = start + "px"; }, 10)}
利用jq实现
Document