在外部js里实现等页面加载完成了再执行脚本,即不用window.onload,也不将<script>块放在底部,也不使用库-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

在外部js里实现等页面加载完成了再执行脚本,即不用window.onload,也不将<script>块放在底部,也不使用库

2016-03-26 08:25:51 1965 1

我想到一种方法可以使用定时器setTimeout,类似于这样
function $(string){ return document.getElementById(string); } setTimeout("",1000);
想请教各位有没有更好的方法呢,也不使用库,其实我很想知道jquery里是怎么操作的。

取消 提交回答
全部回答(1)
  • 小旋风柴进
    2019-07-17 19:15:04
    ready(function(){
      // dom ready 后执行这段代码。
    });

    ready 实现如下:

    var isReady = false;
    var readyList = [];
    
    function ready(fn) {
      if (isReady) {
        setTimeout(function () {
          fn()
        }, 0);
        return;
      }
      readyList.push(fn);
    }
    
    function setReady() {
      if (isReady) {
        return;
      }
    
      isReady = true;
      for (var i = 0, n = readyList.length; i < n; i++) {
        readyList[i]();
      }
      readyList.length = 0;
    }
    
    (function () {
      if (document.readyState === 'complete') {
        setTimeout(setReady, 0);
      } else {
        document.addEventListener('DOMContentLoaded', setReady);
        window.addEventListener('load', setReady);
      }
    }());
    0 0
相关问答

1

回答

怎么获取js对象的key

2018-05-10 19:59:24 2209浏览量 回答数 1

1

回答

js中怎么克隆一个对象

2018-05-10 19:59:36 1690浏览量 回答数 1

1

回答

js 怎么获取table对象

2018-05-10 19:59:38 1862浏览量 回答数 1

1

回答

怎么获取js对象的key值

2018-05-10 19:59:12 2553浏览量 回答数 1

1

回答

怎么遍历一个js对象的属性值

2018-05-10 19:59:10 1281浏览量 回答数 1

1

回答

js怎么将对象转成json

2018-05-10 19:59:08 1306浏览量 回答数 1

1

回答

js中怎么创建数组对象

2018-05-10 19:58:57 1130浏览量 回答数 1

1

回答

js对象怎么删除元素

2018-05-10 19:58:56 2360浏览量 回答数 1

1

回答

JavaScript 怎么删除一个对象的样式中的某个属性?

2016-06-12 15:40:51 2470浏览量 回答数 1

1

回答

js或jquery,怎么随机读json对象的key值?

2016-03-26 08:09:44 1901浏览量 回答数 1
2709
文章
6591
问答
问答排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载