`
jamm19860411
  • 浏览: 86625 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

$(ready){}

阅读更多
完整版的ready(),加载图片之前执行


(function(){
    if(!window.JS){
        window['JS'] = {}
    }
    var addEvent = function( obj, type, fn ) {
        if (obj.addEventListener)
            obj.addEventListener( type, fn, false );
        else if (obj.attachEvent) {
            obj["e"+type+fn] = fn;
            obj.attachEvent( "on"+type, function() {
                obj["e"+type+fn]();
            } );
        }
    };
    var onReady = function(loadEvent,waitForImages) {
        if(waitForImages) {
            return addEvent(window, 'load', loadEvent);
        }
        var init = function() {
            if (arguments.callee.done) return;
            arguments.callee.done = true;
            loadEvent.apply(document,arguments);
        };
        if(!+"\v1"){
            if(window.self == window.top){
                (function(){
                    try {
                        document.documentElement.doScroll("left");
                    } catch(e) {
                        setTimeout( arguments.callee, 0 );
                        return;
                    }
                    init();
                })();
            }else{
                document.attachEvent("onreadystatechange", function(){
                    if ( document.readyState === "complete" ) {
                        document.detachEvent( "onreadystatechange", arguments.callee );
                        init();
                    }
                });
            }
        }else{
            document.addEventListener( "DOMContentLoaded", function(){
                document.removeEventListener( "DOMContentLoaded", arguments.callee, false );
                init();
            }, false );
        }
        return true;
    }
    JS.onReady = onReady;
    var $ = function(id){
        return document.getElementById(id);
    }
    JS.$ = $;
})()


不过对于一般应用来说,我们用不着做到如此面面俱到。假如我们不需要对图片进行处理,页面也没有iframe,我们可以搞下面这个微缩版出来。
(function(){
    if(!window.JS){
        window['JS'] = {}
    }
    var onReady = function(loadEvent) {
        if(!+"\v1"){
            (function(){
                try {
                    document.documentElement.doScroll("left");
                } catch(e) {
                    setTimeout( arguments.callee, 0 );
                    return;
                }
                loadEvent();
            })();
        }else{
            document.addEventListener( "DOMContentLoaded", loadEvent, false );
        }
    }
    JS.onReady = onReady;
    var $ = function(id){
        return document.getElementById(id);
    }
    JS.$ = $;
})()

原文:http://www.cnblogs.com/rubylouvre/archive/2009/08/26/1554204.html
分享到:
评论

相关推荐

    JQuery下关于$.Ready()的分析

    $(document).Ready()方法 VS OnLoad事件 VS $(window).load()方法 接触JQuery一般最先学到的是何时启动事件。在曾经很长一段时间里,在页面载入后引发的事件都被加载在”Body”的Onload事件里. 对于Body的Onload事件...

    2_ReadyAPI3.47.0.zip

    ReadyAPI 3.47.0 是一款强大的API测试、集成和管理工具,它提供了全面的功能,用于确保API的质量和性能。此版本的压缩包包含了多个文件,它们各自扮演着不同的角色,帮助用户更好地理解和使用ReadyAPI。 首先,`_...

    给vue增加一个ready

    这就是 `vue-ready` 的作用。 `vue-ready` 是一个插件或自定义指令,它的设计目标是弥补Vue默认生命周期钩子中缺少的项目启动完成的信号。这个插件或指令允许我们在项目完全加载并准备好运行时触发一个回调,从而...

    深入讲解PHP线程并发种类

    $ready_streams = stream_select($read_streams, $write_streams, $except_streams, $timeout); if ($ready_streams === false) { echo "Error occurred during stream selection.\n"; break; } elseif ($ready...

    ReadyAPI-2.5.0破解.rar

    ReadyAPI破解教程;1、拷贝Protection-4.6.jar到ReadyAPI安装目录的lib目录下替换原来的文件。 2、拷贝ready-api-ui-2.5.0.jar到ReadyAPI安装目录的bin目录下替换原来的文件。 3、启动程序,选择.key文件安装License...

    jQuery(document).ready(function($) { });的几种表示方法

    `jQuery(document).ready()`函数是jQuery中的一个重要概念,它确保了在执行任何JavaScript代码之前,DOM已经完全加载和解析完成。这个特性使得开发者可以在不担心元素未定义的情况下操作DOM。以下是几种常见的表示...

    readyAPI1.41最新半破解版

    其实soapui 4.5的破解文件通杀所有soapui和soapui ng(不包括readyapi,loadui...) 1,破解方法有多种(我只是修改了一些布尔值) 1) 参考https://github.com/gyk001/soapui-pro-crack 2) 修改Protection.jar 个人能力...

    HP M1522nf 刷机出现 Ready 2 Download解决过程

    HP M1522nf 打印机出现 Ready 2 Download 解决过程 本文将详细介绍 HP M1522nf 打印机出现 Ready 2 Download 解决过程的知识点,涵盖了固件更新、驱动卸载、USB 模式选择、固件升级、打印机重启、设备添加等多个...

    ReadyFor4GB+WIN7去水印补丁

    ReadyFor4GB+WIN7去水印补丁 ReadyFor4GB+WIN7去水印补丁 ReadyFor4GB+WIN7去水印补丁

    ReadyAPI 2.4.0 (SOAPUI Pro)破解教程

    ReadyAPI 2.4.0 (SOAPUI Pro)破解教程,亲测可以使用,赶快下载试试

    readyapi破解文件加说明

    readyapi破解文件加说明

    vue ready事件处理函数使用方法

    在早期版本的Vue(v1.x)中,`ready`事件处理函数是一个重要的生命周期钩子,它会在组件挂载完成后被调用,即当组件实例的`el`选项绑定的DOM元素被插入到文档中时。然而,在Vue的最新版本(v2.x及以上)中,`ready`...

    ReadyAPI-x64-3.54.0无破解

    自用备份,官网下载太慢了 附各版本下载地址: http://dl.eviware.com/ready-api/readyapi.htm#_ga=2.52713388.565955952.1608231042-1342192121.1537178383

    ReadyApi破解(亲测解决闪退问题)

    ReadyApi破解(亲测解决闪退问题),2.3版本破解解决闪退问题。

    ReadyFor4GB.rar

    标题 "ReadyFor4GB.rar" 暗示了这个压缩包可能包含一个工具或补丁,使得32位操作系统能够更好地利用超过4GB的物理内存。在传统的32位Windows系统中,由于地址空间限制(通常称为4GB的内存限制),尽管计算机可能有更...

    Ready Player Me Unity SDK

    在Unity中下载Ready Player Me中的Avatar模型

    ReadyAPI-2.8.2超长试用版,不闪退.zip

    ReadyAPI 2.8.2(最新版)超长试用版,绝不闪退。ReadyAPI 2.8.2 官方下载地址:http://www.soapui.org/Downloads/latest-release.html。仅供学习,不得用于盈利目的的。

    小工具ReadyFor4GB_20090422

    标题“小工具ReadyFor4GB_20090422”暗示了这是一个与提升计算机内存管理能力相关的工具,特别关注的是使32位系统能够处理超过4GB的RAM。ReadyFor4GB是一个小巧而实用的软件,设计用于解决传统32位Windows操作系统...

    readyAPI破解key

    通杀soapUI所有版本 包含4个key文件

Global site tag (gtag.js) - Google Analytics