javascript如何缓存计时器?

我正在做了一个简单的tip功能,当多少秒后自动隐藏。如下代码所示:
出现的问题是,当我一个tip还未执行计时器中的动作,就点击不同的目标再次调用tip,会清除掉计时器,而计时器中的动作也仅仅在最新调用tip的目标上执行。
请问,我这个tip该如何设计,才能做到对应清除计时器?
html
Document
.none{display:none;}
$.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秒后隐藏"})
});
桃花长相依
浏览 438回答 2
2回答

大话西游666

setTimeout()会返回一个标示此程序的ID,只要clearTimeOut(id)貌似就可以了。PS:我是新手,只是随便说说,有任何问题希望题主不要介意。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript