zoukankan      html  css  js  c++  java
  • js中页面加载完成后执行的几种方式及执行顺序

    1:使用jQuery的$(function){};

    2:使用jquery的$(document).ready(function(){});前两者本质上没有区别,第1种是第2种的简写方式。两个是document加载完成后就执行方法。

    3:使用jQuery的$(window).load(function(){});

    4:使用window.onload = function(){} 第3种和第4种都是等到整个window加载完成执行方法体。两者也没有区别,只是一个使用dom对象,一个使用jQuery对象。

    5:在标签上静态绑定onload事件,<body onload="aaa()">等待body加载完成,就会执行aaa()方法。

    那么,这五种方式,执行的先后顺序是怎么样的呢?

    通过下方代码验证发现:

           使用1:jQuery的$(function){}和2:jquery的$(document).ready(function(){});无论位置放置在哪里,总是优先其余三种方式(原因是:这两种方式是在document加载完成后就执行,后三种是等到整个window页面加载完成后才执行),这两者之间的执行顺序是谁在上方谁优先执行。

           使用3:jQuery的$(window).load(function(){});和4:window.onload = function bbb(){}这两种方式,总是优先于<body onload="aaa()">执行。他们两者执行顺序也是根据谁在上方谁先执行。

           使用5:<body onload="aaa()">总是最后执行。

    重点到了!如果要对未来元素操作的话以上这些对IE浏览器是不管用的。要等未来元素加载完后再执行js的话,我们就要给个定时器达到延迟加载的效果:

    $(window).load(function(){
      setTimeout(function(){
        console.log($(".tbody tr"))
        $(".tbody tr:odd").css("backgroundColor","#F5F6FA");
      },30)
    });
    

      

  • 相关阅读:
    android 摇一摇功能的实现
    几种排序算法
    程序员面试宝典笔记一二
    在命令行运行java代码
    【小记整理】mybatis配置多个扫描路径写法
    idea+mvc项目转换小记
    SpringCloud学习笔记
    Shell学习笔记2》转载自runnoob
    idea初见问题整理_错误: -source 1.5 中不支持 diamond 运算符
    汇编入门四-寄存器
  • 原文地址:https://www.cnblogs.com/lan-cheng/p/9054809.html
Copyright © 2011-2022 走看看