注意:函数需要传递2个参数,动画对象和移动到的距离。
<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>测试</title><style>*{margin: 0;padding: 0;}div{position: absolute;left: 0;width: 100px;height: 100px;background-color: pink;}span{position: absolute;top: 100px;left: 0;display: block;width: 100px;height: 100px;background-color: purple;}</style></head><body><div></div><span></span><script>//简单动画函数封装 obj目标对象 target目标位置function animate (obj,target) {//让盒子在当前位置+1距离//定时器重复操作,最后清除定时器var timer = setInterval(function(){//获得盒子当前的位置var x = obj.offsetLeft;if(x >= target){clearInterval(timer);}obj.style.left = x + 1 + 'px';},30);}//获取元素var div = document.querySelector('div');var span = document.querySelector('span');animate(div,300);animate(span,200);</script></body></html>
.
