# JS页面加载完成时执行某个操作

**URL:** <https://www.shiqidu.com/t/topic/799>\
**Category:** 开发调优\
**Tags:** JavaScript\
**Created:** [2023 年8 月 12 日 06:12 UTC](https://www.shiqidu.com/t/topic/799 "2023-08-12T06:12:32Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

作者： ![caojie](https://www.shiqidu.com/user_avatar/www.shiqidu.com/caojie/32/465_2.png) [@caojie](https://www.shiqidu.com/u/caojie)\
发布日期： [2023 年8 月 12 日 06:12 UTC](https://www.shiqidu.com/t/topic/799/1 "2023-08-12T06:12:32Z")

</div>

```js
jQuery.fn.wait = function (func, times, interval) {
    var _times = times || 100, //100次
        _interval = interval || 20, //20毫秒每次
        _self = this,
        _selector = this.selector, //选择器
        _iIntervalID; //定时器id
    if (this.length) { //如果已经获取到了，就直接执行函数
        func && func.call(this);
    } else {
        _iIntervalID = setInterval(function () {
            if (!_times) { //是0就退出
                clearInterval(_iIntervalID);
            }
            _times <= 0 || _times--; //如果是正数就 --
            _self = $(_selector); //再次选择
            if (_self.length) { //判断是否取到
                func && func.call(_self);
                clearInterval(_iIntervalID);
            }
        }, _interval);
    }
    return this;
}

var mergeBtns = $("[class^=merge-request-container]").find("[class^=content-container__]").find("[class^=main__]").find(
    "[class^=show__]").find("[class^=container__]");
mergeBtns.wait(function () {
    console.log("mergeBtns", mergeBtns);
    // $(mergeBtns)[2].find("[class^=merges__]").remove();
});

```
