为了账号安全,请及时绑定邮箱和手机立即绑定

javascript如何缓存计时器?

javascript如何缓存计时器?

桃花长相依 2019-04-16 20:26:46
我正在做了一个简单的tip功能,当多少秒后自动隐藏。如下代码所示:出现的问题是,当我一个tip还未执行计时器中的动作,就点击不同的目标再次调用tip,会清除掉计时器,而计时器中的动作也仅仅在最新调用tip的目标上执行。请问,我这个tip该如何设计,才能做到对应清除计时器?htmlDocument.none{display:none;}clickmeclickmeclickme$.extend({tip:function(options){varparam=$.extend({obj:"#message",text:'',timeout:3000,},options);clearTimeout($.tipTime);varobj=param.objinstanceof$?param.obj:$(param.obj);obj.html(param.text).removeClass('none');$.tipTime=setTimeout(function(){obj.addClass('none');},param.timeout);},tipTime:null});$('button').on('click',function(event){var$this=$(this);$.tip({obj:$this.next('span'),text:"显示信息,3秒后隐藏"})});
查看完整描述

2 回答

?
大话西游666

TA贡献1817条经验 获得超14个赞

setTimeout()会返回一个标示此程序的ID,只要clearTimeOut(id)貌似就可以了。PS:我是新手,只是随便说说,有任何问题希望题主不要介意。
                            
查看完整回答
反对 回复 2019-04-16
  • 2 回答
  • 0 关注
  • 437 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信