有趣的setTimeout和clearTimeout

2008-04-22 20:45:21

今天使用我写的jQuery Countdown Plugin时,遇到一个特殊的需求:要停止正在进行的倒计时。

Google了一下,发现window.clearTimeout可以做这事儿,但要求首先获得window.setTimeout的句柄,我在写这个plugin时并没有考虑这点,又不想加个句柄变量到jQuery对象中,于是再度Google,并发现了一个window.clearTimeout的很奇怪的用法,可以自动获得句柄:

window.clearTimeout(setTimeout("0")-1);

这条语句确实能够满足我的需求,可我不明白这是什么意思,哪位高手能给解释下?

根据这个发现,我顺便更新了plugin-加了个stop()方法,详细用法和下载见这里

此外一个有趣的现象就是:在IE和FF下,window.setTimeout返回的句柄不同。在IE下,它是一个8位的数字,并且每次刷新页面时这个数字以3递增;在FF下,它是个各位的数字,并且刷新时不会有变化。

1 条评论

    
  1. 云帆飞舞
    2008-05-29 16:42:25

    太谢谢,这个句柄帮了我的大忙了。这会儿别提有多高兴,特意留言!

发表评论

  • wave.gif
  • xd.gif
  • zip.gif
  • zzz.gif
  • angel.gif
  • angry.gif
  • ask.gif
  • bad_smile.gif
  • beer.gif
  • big_smile.gif
  • caresse.gif
  • clin_oeil.gif
  • confus.gif
  • devil.gif
  • emu.gif
  • eye_up.gif
  • gdb.gif
  • glasses.gif
  • gun.gif
  • hum.gif
  • jacky.gif
  • jet.gif
  • lang_1.gif
  • lang_2.gif
  • larme.gif
  • love.gif
  • mad.gif
  • mdr.gif
  • pacman.gif
  • prof.gif
  • rabbit.gif
  • sad.gif
  • scare.gif
  • sick.gif
  • smile_1.gif
  • smile_2.gif
  • sucette.gif
  • terro.gif
  • wahou.gif