码迷,mamicode.com
首页 > Web开发 > 详细

原生JS 实现 dom ready

时间:2019-08-29 15:42:07      阅读:98      评论:0      收藏:0      [点我收藏+]

标签:var   push   UNC   scroll   ade   user   dde   state   fun   

记录一下项目技术问题:

记得:放在head标签内的脚本,第一时间执行

var baseTools = {
  // dom ready
  ready: function( f ){
    var ie = !!(window.attachEvent && !window.opera);
    var wk = /webkit\/(\d+)/i.test(navigator.userAgent) && (RegExp.$1 < 525);
    var fn = [];
    var run = function () { for (var i = 0; i < fn.length; i++) fn[i](); };
    var d = document;

    if (!ie && !wk && d.addEventListener)
      return d.addEventListener(‘DOMContentLoaded‘, f, false);
    if (fn.push(f) > 1) return;
    if (ie)
      (function () {
        try { d.documentElement.doScroll(‘left‘); run(); }
        catch (err) { setTimeout(arguments.callee, 0); }
      })();
    else if (wk)
      var t = setInterval(function () {
        if (/^(loaded|complete)$/.test(d.readyState))
          clearInterval(t), run();
      }, 0);
  }
};

以上就是原生JS 实现 dom ready 的方法,接下来是使用:

;(function() {
  baseTools.ready(function() {
    你想实现的代码
  });
})();

 

原生JS 实现 dom ready

标签:var   push   UNC   scroll   ade   user   dde   state   fun   

原文地址:https://www.cnblogs.com/XiaoYEBLog/p/11429789.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!