Day16
1-什么是事件委托,原理是什么?
委托就是把自己的事拜托给别人做,让别人来完成
原理
利用冒泡的原理,把事件添加到父元素上,委托它们父级代为执行事件
2-js 中有几种定时器,有什么区别?
setInterval以指定时间为周期循环执行
setTimeout只在指定时间后执行一次
3-如何清除定时器?
clearInterval() 定时器的id
clearTimeout()
4-封装一个动画函数
function animate(element, target) {
//先清理定时器,这样可以保证每次点击按钮都只产生一个定时器
clearInterval(element.timeId);
element.timeId = setInterval(function() {
//获取div的当前位置
var current = element.offsetLeft;
//设置每次移动多少像素
var step = 10;
step = current < target ? step : -step;
//每次移动后的位置
current += step;
//判断当前位置距离目标位置多少像素
if (Math.abs(current - target) >= Math.abs(step)) {
element.style.left = current + "px";
} else {
clearInterval(element.timeId);
element.style.left = target + "px";
}
}, 10);
}

浙公网安备 33010602011771号