`

页面所有元素加载完成之后执行某个js函数

阅读更多

在页面所有元素加载完成之后执行某个js函数

 

做项目的时候可能会遇到这种情况:

       一个JSP页面中import了一个目录文件(menu.jsp),而且每个页面的<body>中都定义了onload事件,那么在此定义window.onload函数的时候可能会不生效或者多个onload之间覆盖的现象.

       有的朋友肯定会说用jQuery的$().ready(function(){}),或者(function(){})这种方式, 其实这个函数和javascript的onload事件是由区别的,那么来看看他们的区别:

他们的主要的区别有两点:

  1. 执行时机
    window.onload方法是在网页中的所有的元素(包括元素的所有关联文件)都完全加载到浏览器之后才执行。而通过jQuery中的$(document).ready()方法注册的事件处理程序,只要在DOM完全就绪时,就可以调用了,比如一张图片只要<img>标签完成,不用等这个图片加载完成,就可以设置图片的宽高的属性或样式等。
  2. $(document).ready()方法可以多次使用而注册不同的事件处理程序,而window.onload一次只能保存对一个函数的引用,多次绑定函数只会覆盖前面的函数。
    先来看window.onload方法在一个页面上注册两次会是什么样的结果:
    function one(){
        alert("one");
    }
    function two(){
        alert("two");
    }
    window.onload = two ;
    window.onload = one ;

     

    上面的代码运行后,会弹出“one”。

    再来看看$(document).ready()方法分两次调用会是什么结果。

    function one(){
        alert("one");
    }
    function two(){
        alert("two");
    }
    $(document).ready(function(){
        one();
    });
    $(document).ready(function(){
        two();
    });
     上面的代码运行后,会分别弹出“one”和“two”。
    好了,比较完了,也就是说window.onload和jQuery的方式都无法实现,所以有了下面的实现:
    var $$ = function(func){
                if (document.addEventListener) {
                    window.addEventListener("load", func, false);
                }
                else if (document.attachEvent) {
                    window.attachEvent("onload", func);
                }
            }
            
            $$(function(){
            	show();
            })
     使用的时候只要这样:
    $$(function(){...此处加上需要执行的内容...});即可...

     

0
2
分享到:
评论
3 楼 yeshuan 2015-11-06  
var $$ = function(func) 这个func是什么....菜鸟学习中
2 楼 lgscofield 2015-07-01  
hubiao0629 写道
window.onload 是所有元素加载完后执行吗?验证过吗,不要复制了就发表

是否验证自己试试就知道
还有, 你说我复制, 你的依据是什么, 不要天天TMD看到别人的东西就觉得是复制的, OK?
最后送你一句:
无爱请滚粗
1 楼 hubiao0629 2015-02-13  
window.onload 是所有元素加载完后执行吗?验证过吗,不要复制了就发表

相关推荐

    两种方法实现在HTML页面加载完毕后运行某个js

    在网页开发中,确保JavaScript代码在HTML页面完全加载完毕后再执行是至关重要的,因为这可以避免因元素未加载而导致的错误。本文将介绍两种方法来实现在HTML页面加载完成后运行JavaScript代码。 首先,我们来看传统...

    页面加载事件、页面定时任务

    通过监听这个事件,开发者可以在页面加载完成后执行一系列的操作,比如初始化页面元素、设置样式等。 **页面定时任务**则是指在网页中按照预定的时间间隔重复执行某个函数或方法的功能。这在数据更新、实时监控等...

    JavaScript判断页面加载完之后再执行预定函数的技巧

    load事件只有在整个页面完全载入之后才会触发,因此在load事件处理函数中编写的JavaScript代码,可以确保在所有HTML元素加载完成之后执行。window对象的load事件的写法如下: ```javascript window.addEventListener...

    vuejs实现ready函数加载完之后执行某个函数的方法

    在Vue中,我们通常会遇到在数据完全加载并渲染到DOM后执行某些特定函数的需求,例如在本例中,我们需要在表格元素(tds)全部显示在页面上之后,对表格中的选择框添加监听事件。 Vue.js 提供了一个叫做 `Vue....

    Jquery 在页面加载后执行的几种方式

    对于初始化函数`initPublish()`的调用,我们可以将其直接放在`$(document).ready()`方法中,这样可以保证在DOM元素加载完成之后,立即执行该函数。通常,我们会将`$(document).ready()`中的代码放在HTML文档的最底部...

    jQuery下实现等待指定元素加载完毕(可改成纯js版)

    标题中提到的关键知识点是“jQuery下实现等待指定元素加载完毕”,这种需求通常出现在异步操作如Ajax加载数据之后,需要对动态加载的元素进行操作时。描述部分明确了这是为了解决在无法修改源代码的情况下,如何监视...

    详解Vue.js在页面加载时执行某个方法

    在Vue.js中,我们需要在页面加载时执行某些初始化操作或数据获取,这可以通过利用Vue实例的生命周期钩子函数来实现。接下来,我们将详细讨论如何在Vue.js中实现在页面加载时执行特定的方法。 首先,Vue实例的生命...

    js判断图片加载完成后获取图片实际宽高的方法

    此外,这段代码可以在页面加载时执行,也可以在需要时动态执行,比如响应某个用户的操作。只要确保在图片加载完成之后再获取其尺寸即可。 在上述代码的基础上,如果希望减少代码量,可以进一步简化。例如,将图片...

    js函数一览表 javaScript 自定义函数一览表

    - **用途**:了解DOM结构对于操作页面元素至关重要。 5. **获取元素属性值** - **语法**:`document.getElementById("元素ID").name(value)` - **用途**:通过ID选择器获取指定元素,并设置或获取其属性值。 6....

    js 某个页面监听事件渲染完毕的时间.docx

    使用`window.onload`的典型场景是,你需要确保所有资源都加载完毕后再执行某些操作,例如初始化页面上的图表或计算总加载时间。下面是如何使用`window.onload`的示例: ```javascript window.onload = function() {...

    页面加载完后自动执行一个方法的js代码

    页面加载完毕后自动执行一个JavaScript函数是一种在网页开发中常见的需求,用以确保在页面内容完全可用之后才执行特定的操作。当网页中的资源如图片、样式表等都已完全加载,并且DOM树构建完成时,我们就可以通过...

    基于JavaScript实现一定时间后去执行一个函数

    - **动画效果**:`setTimeout()`常用于创建动画效果,通过在每次函数执行后更新页面元素的状态,模拟连续动作。 - **网络请求超时**:在发送HTTP请求时,可以设置超时机制,如果在规定时间内没有收到响应,就取消...

    Chrome插件开发--后台监控网页并自动刷新,点击页面元素

    3. **内容脚本(Content Script)**:这些脚本会注入到用户访问的网页中,可以直接操作DOM,实现对网页元素的控制,如自动刷新和点击页面元素。 4. **浏览器动作(Browser Action)和页面动作(Page Action)**:...

    js滚动延时加载

    4. **数据请求**:当决定加载某个元素时,可能需要从服务器获取数据。这通常通过Ajax请求(XMLHttpRequest或fetch API)实现。请求成功后,将返回的数据插入到页面相应的位置。 5. **动画效果**:为了提供更流畅的...

    jsp页面中的代码执行加载顺序介绍.docx

    例如,在页面加载时发起AJAX请求获取数据,如果后续操作依赖于这些数据,则需要等待回调函数执行完毕后再进行操作。 - **定时器**:可以使用`setTimeout()`和`setInterval()`来控制JavaScript代码的执行时机。 ###...

    JS常用函数(笔记)

    - `document.getElementsByTagName()`: 根据标签名获取页面元素集合。 5. **事件处理函数**: - `document.onclick`, `document.ondblclick`: 分别处理单击和双击事件。 - `window.status`: 设置或获取浏览器...

    jQuery实现在HTML文档加载完毕后自动执行某个事件的方法

    标题中的"jQuery实现在HTML文档加载完毕后自动执行某个事件的方法"涉及到的关键点是利用jQuery的`$(document).ready()`函数,也称为DOM ready事件,它允许我们在HTML结构完全加载并解析完毕后,安全地运行JavaScript...

    JS如何实现在页面上快速定位(锚点跳转问题)

    对于不支持上述功能的浏览器,比如旧版IE浏览器,在页面刷新时可能锚点失效的问题,可以通过JavaScript代码在页面加载完毕后检测URL中是否存在锚点。如果存在,则获取对应锚点对象,并让页面滚动到该位置。具体方法...

    c#代码与javascript函数的相互调用

    本文将深入探讨C#代码与JavaScript函数的相互调用机制,解析如何在ASP.NET环境中利用这两种语言的优势,构建高效、动态的Web应用。 ### C#调用JavaScript #### 直接插入JavaScript代码 在C#的ASP.NET页面中,可以...

    js函数setTimeout延迟执行的简单介绍

    在实际的Web开发中,setTimeout函数常常被用于多种场景,比如实现页面加载后延时显示元素、进行网络请求的超时处理、制作简单的动画效果等。合理地利用setTimeout,可以提升用户的交互体验,优化页面的性能表现。 ...

Global site tag (gtag.js) - Google Analytics