JS带缓存效果的移动函数封装

来源:互联网 发布:罗马音发音软件 编辑:程序博客网 时间:2024/06/04 23:27

function startMove(obj, iTarget, fnEnd) {


                clearInterval(obj.timer);


                obj.timer = setInterval(function () {


                    var iX = (iTarget.x - obj.offsetLeft) / 5;

                    var iY = (iTarget.y - obj.offsetTop) / 5;


                    iX = iX > 0 ? Math.ceil(iX) : Math.floor(iX);

                    iY = iY > 0 ? Math.ceil(iY) : Math.floor(iY);


                    if (obj.offsetLeft == iTarget.x && obj.offsetTop == iTarget.y) {
                        clearInterval(obj.timer);
                        fnEnd && fnEnd();

                    };


                    obj.style.left = obj.offsetLeft + iX + "px";

                    obj.style.top = obj.offsetTop + iY + "px";


                }, 30);
            };
0 0