我有以下代码:

var comparePanel = $(__this.NOTICE_BODY);
        clearTimeout(__this._timeout);
        comparePanel.addClass(__this.VISIBLE);
        __this._timeout = setTimeout(function () {
            comparePanel.removeClass(__this.CL_VISIBLE);
        }, 3000);
    }
})


以下重复了几次:

__this._timeout = setTimeout(function () {
            comparePanel.removeClass(__this.CL_VISIBLE);
        }, 3000);


我希望能够做这样的事情:

__this._timeout = setTimeout(comparePanel,3000);

如何定义和调用该函数?

PS。我对JavaScript非常陌生,因此非常感谢您对发生的情况进行任何解释。

最佳答案

您可以像这样将现有函数传递给setTimeout

// declare named function
function comparePanelTick() {
    comparePanel.removeClass(__this.CL_VISIBLE);
}


然后像问题中所显示的那样使用它:

__this._timeout = setTimeout(comparePanelTick, 3000);


注意:您已经有一个名为comparePanel的变量,因此请为函数名称使用其他名称。

09-16 09:27