var time = window.setInterval(function(){},3*1000)
time 值是唯一的,如果想删除这个定时器,直接删除time就OK了
你这两行代码是在lis[i].onmouseover这个事件过程中的,也就是说它们并不是在for循环中直接执行的,而是在鼠标划过对应的li时才执行的,这个时候for循环早就运行完毕了,那么lis[i].className="select"中的这个i跟for循环的i就不存在关系了(即使有关系,它也是个固定值了,即lis.length,也就是for的循环终值)。这种情况下只能在对事件过程初始化的时候把i通过对象属性(lis[i].id)传递到事件过程内。setTimeout() 和 cleartimeout() 是逆过程 可以查看用法是否正确,我处理过的一段 如下 var action=setTimeout(function(){...},1000)if(action) clearTimeout(action)