搞不懂咯,定时器的问题。

来源:8-6 取消计时器clearTimeout()

慕粉4203582

2016-10-31 17:26

function jianjie()

{

var ms=document.getElementsByTagName('span');

var obtn=document.getElementsByTagName('input');

var i=0;

    for (var i = 0; i < obtn.length; i++)

{

        obtn[i].index = i;

        obtn[i].onclick= function () 

{

          ms[this.index].style.display = 'block';

        }

obtn[i].onmouseout=function ()

{

setTimeout(function () 

{

ms[this.index].style.display = 'none';

},1000);

}

}

}

人家单个块对应控制另一个块的延迟隐藏与显示都是没问题的。但是用在数组上面就不行了(是不是setTime只能运行一次的问题啊)。后来没办法,setTime被我写成setTimeout(obtn[this.index].onmouseout=function () 这个样子,还是能运行。这种写法算什么!!!

写回答 关注

2回答

  • 慕神4767727
    2016-11-01 12:40:22
    已采纳

    settimeout只有第一次有效果,一次性的。后面就会混乱时间加快了。

    慕粉4203...

    非常懒得解释!

    2016-11-12 15:46:09

    共 1 条回复 >

  • 慕粉4203582
    2016-11-02 08:49:02

    这个问题已经有人回答了,慕课网系统延迟,发出的问题找不到,所以发了两遍。链接是:http://www.imooc.com/qadetail/177963

JavaScript进阶篇

本课程从如何插入JS代码开始,带您进入网页动态交互世界

468196 学习 · 21891 问题

查看课程

相似问题