当前位置:首页 > JavaScript

js 实现ready

2026-02-02 10:43:17JavaScript

js 实现ready

js 实现ready

实现 JavaScript 的 ready 事件

在 JavaScript 中,ready 事件通常用于在 DOM 完全加载后执行代码,而不需要等待图片或其他资源加载完成。以下是几种常见的实现方法:

使用 DOMContentLoaded 事件

document.addEventListener('DOMContentLoaded', function() {
    // 在这里编写 DOM 加载完成后执行的代码
});

兼容旧版浏览器的实现

function ready(fn) {
    if (document.readyState !== 'loading') {
        fn();
    } else {
        document.addEventListener('DOMContentLoaded', fn);
    }
}

ready(function() {
    // 在这里编写 DOM 加载完成后执行的代码
});

jQuery 风格的实现

(function(win, doc) {
    var ready = function(fn) {
        if (doc.readyState === 'complete') {
            return fn();
        }

        doc.addEventListener('DOMContentLoaded', fn, false);
        win.addEventListener('load', fn, false);
    };

    win.ready = ready;
})(window, document);

ready(function() {
    // 在这里编写 DOM 加载完成后执行的代码
});

支持多次调用的实现

var readyCallbacks = [];
var isReady = false;

function ready(fn) {
    if (isReady) {
        fn();
    } else {
        readyCallbacks.push(fn);
    }
}

document.addEventListener('DOMContentLoaded', function() {
    isReady = true;
    readyCallbacks.forEach(function(fn) {
        fn();
    });
    readyCallbacks = [];
});

ready(function() {
    // 第一次调用
});

ready(function() {
    // 第二次调用
});

这些方法都可以实现类似 jQuery $(document).ready() 的功能,选择哪种方法取决于项目的具体需求和浏览器兼容性要求。

标签: jsready
分享给朋友:

相关文章

vue.js实现轮播

vue.js实现轮播

Vue.js 实现轮播功能 使用第三方库(推荐) Vue.js 生态中有许多成熟的轮播组件库,例如 vue-awesome-swiper 或 swiper,它们功能丰富且易于集成。 安装 swipe…

js jquery

js jquery

jQuery 简介 jQuery 是一个快速、简洁的 JavaScript 库,简化了 HTML 文档遍历、事件处理、动画设计和 Ajax 交互。它兼容多种浏览器,提供易于使用的 API,使开发者能够…

js实现二叉树

js实现二叉树

二叉树的基本概念 二叉树是一种树形数据结构,每个节点最多有两个子节点,分别称为左子节点和右子节点。二叉树的常见操作包括插入、删除、遍历等。 二叉树的节点定义 在JavaScript中,二叉树的节点可…

js实现祖玛

js实现祖玛

实现祖玛游戏的核心思路 祖玛游戏的核心玩法是发射彩色珠子,形成三个或以上相同颜色的珠子即可消除。以下是使用JavaScript实现的基本框架。 游戏初始化 创建画布并初始化游戏状态: const…

js实现图片

js实现图片

图片加载与显示 在JavaScript中,可以通过Image对象动态加载图片。创建实例后设置src属性触发加载,通过onload回调处理加载完成后的操作: const img = new Ima…

js实现的游戏

js实现的游戏

JavaScript 游戏开发基础 JavaScript 是开发网页游戏的流行选择,因其无需插件即可在浏览器中运行。以下是一些关键技术和资源: HTML5 Canvas Canvas 提供了绘制图形…