##tab选项卡之延迟切换
同时运动
实现思路:
在鼠标滑过时我们不立即执行相应的函数,而是延迟一段时间后执行,就达到了延迟切换的效果
效果
编写函数之前我们应该知道
- setTimeout函数:setTimeout() 方法用于在指定的毫秒数后调用函数或计算表达式。用法与setInterval类似。
- 设定timer值,清除之前的定时器,避免在未达到500ms又滑过其他选项卡出现的bug
- 将this赋值给that变量,因为在setTimeout函数中的this指向window
- 为什么不使用menu_li[i]呢?因为在等待500ms的过程中循环早已做完,当500ms后我们使用到的将会是showTab(menu_li[4]),所以用menu_li[i]并不能达到预期的效果。
menu_li[i].onmouseover = function(){
if(timer){
clearTimeout(timer);
}
var that = this;
timer = setTimeout(function(){
showTab(that);
},500);
};
将this赋值给that变量