javascript - 定时器时间清零!!
PHPz
PHPz 2017-04-10 17:36:05
[JavaScript讨论组]

我想在屏幕滚动的时候把_time设为零,就是立马让phide(),而不是关闭定时器
这样能做吗?




  
  



        
    

hello

PHPz
PHPz

学习是最好的投资!

全部回复(5)
PHPz

直接在屏幕滚动的时候,将p hide()不就行了吗,一定要用定时器兜个圈子吗?

PHP中文网

哪位给编辑过了

$(function() {
    var _time = 3000;
    $('.show').click(function() {
        timer3 = setTimeout(hide, _time);
    })
    window.onscroll = hide;

    function hide() {
        $(".dis").hide();
    }
})
黄舟

如果你的timer3已经在执行了,你在设置_time为0,应该是不行的。
为什么不直接在滚动时直接设置$(".dis").hide();了?

大家讲道理

clear掉定时器就行了,然后$(".dis").hide();

$(function(){
   var _time = 3000;
    var timer3 = null;
      $('.show').click(function(){
          timer3 = setTimeout(function(){
                    $(".dis").hide();                    
            },_time);    
      })
      
      window.scroll(function(){
            clearTimeout(timer3);  
            $(".dis").hide();                  
      })
 })
PHP中文网

不行,你调用一次的setTimeout函数就是往JS的定时器执行队列中注册了一个定时器,除非调用clearTimeout函数,否则你是清除不掉定时器的~~

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号