Javascript 如何只执行一次函数
我有一个函数作为一个更大的javascript文件的一部分,该文件执行一个基于Javascript 如何只执行一次函数,javascript,html,Javascript,Html,我有一个函数作为一个更大的javascript文件的一部分,该文件执行一个基于setInterval()的函数。现在,虽然它使用了interval,但我确实希望它只执行一次,但基于它每执行一次20 TINY.height=function(){ return{ set:function(e,h,s,d){ e=typeof e=='object'?e:$(e); var oh=e.offsetHeight, ho=e.style.height||T
setInterval()
的函数。现在,虽然它使用了interval,但我确实希望它只执行一次,但基于它每执行一次20
TINY.height=function(){
return{
set:function(e,h,s,d){
e=typeof e=='object'?e:$(e); var oh=e.offsetHeight, ho=e.style.height||TINY.style.val(e,'height');
ho=oh-parseInt(ho); var hd=oh-ho>h?-1:1;
clearInterval(e.si);
e.si=setInterval(function(){TINY.height.tw(e,h,ho,hd,s)},20)
},
tw:function(e,h,ho,hd,s){
var oh=e.offsetHeight-ho;
if(oh==h){clearInterval(e.si)}else{if(oh!=h){e.style.height=oh+(Math.ceil(Math.abs(h-oh)/s)*hd)+'px'}}
}
}
}();
我应该修改什么,只执行一次,然后清除间隔?这正是
setTimout()所做的。这正是setTimout()所做的
没有。使用setTimeout而不是setIntervalultra简单解决方案:全局变量,当函数执行时用作信号标志。使用setTimeout而不是setIntervalultra简单解决方案:全局变量,当函数执行时用作信号标志。