javascript - 如何只执行一次函数

标签 javascript html

我有一个函数作为更大的 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/

相关文章:

JavaScript 文件无法通过给定路径加载

javascript - Angular .js : model update doesn't trigger view update

javascript - 相同顺序的类名称产生不同的结果(Chrome、Webpack 3、CSS 模块)

javascript - 如何拥有一个持久复选框,每次在 JQuery 中选中时都会打开或关闭 div?

html - 如何从 Selenium 中的 HTML5 输入字段错误消息中获取文本?

javascript - 子字符串 javascript 根本不工作

javascript - Chrome 丰富通知仅适用于扩展程序?

javascript - Chrome 和 Node.js 中的全局范围

javascript - 尝试动态创建也可以关闭的div

html - Css 不会在较小的屏幕上隐藏内容