大家帮我分析下..应该是作用域的问题. 本帖最后由 rao3324180 于 2011-01-12 19:37:21 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 onmouseover 中 clearInterval(time) 此处的time是全局的,如果 onmouseout = function(){setInterval("autoScroll2()",10)}那么,onmouseover 中 clearInterval(time)只是取消了 外面的 var time = setInterval("autoScroll2()",10); 之后 onmouseout 触发的定时器没办法消除,而且每次都会增加一个定时器,造成加快的效果。如果 onmouseout = function(){time = setInterval("autoScroll2()",10)}此时的time是指全局变量time,自然 clearInterval(time)就能消除该定时器如果 onmouseout = function(){var time = setInterval("autoScroll2()",10)}此时的time是指局部变量time,作用域只在此函数内,clearInterval(time)不能消除这个time引用的定时器. 这个字符串怎么转换啊!! 关于JS弹出窗口的问题.... JavaScript闭包基础问题 求DOM中文参考手册! 〓〓〓三个页面互相传值问题,急!!!〓〓〓 音乐文件的链接速度测试[有点难度] 这样的表格怎么动态添加,删除行啊? 闪烁效果 问个OOP的问题 这个用递归怎么做才能得到想要的数据 [50分]求助:javascript 正则表达式的问题? 怎样使用通过JS获取选定的标题,并在一个浮动层中显示
如果 onmouseout = function(){setInterval("autoScroll2()",10)}
那么,onmouseover 中 clearInterval(time)只是取消了 外面的 var time = setInterval("autoScroll2()",10); 之后 onmouseout 触发的定时器没办法消除,而且每次都会增加一个定时器,造成加快的效果。如果 onmouseout = function(){time = setInterval("autoScroll2()",10)}
此时的time是指全局变量time,自然 clearInterval(time)就能消除该定时器如果 onmouseout = function(){var time = setInterval("autoScroll2()",10)}
此时的time是指局部变量time,作用域只在此函数内,clearInterval(time)不能消除这个time引用的定时器.