作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个函数作为更大的 javascript 文件的一部分,该文件执行基于 setInterval()
的函数。现在,虽然它使用间隔,但我确实希望它只执行一次,但基于它每 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()
的作用。
关于javascript - 如何只执行一次函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21538044/
我是一名优秀的程序员,十分优秀!