我正在做了一个简单的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:我是新手,只是随便说说,有任何问题希望题主不要介意。
添加回答
举报
0/150
提交
取消