ready与onload的区别

两种方法介绍

等待DOM载入完成之后在执行操作的方法有两种
onload:

         window.onload =function(){

         }

ready:

        $(document).ready(function (){
           
        })

简写为:

         $(function (){
            
         })

不同

eg:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>ready与onload的区别</title>
</head>
<body>
    <img id="logo" src="https://hbimg.huaban.com/d04baf66dcafffb0fadd5a92b87ad22e66c20e6710b3df-Mt15tL_fw658/format/webp">
   
    <script type='text/javascript' src='./jquery库/jquery-1.12.4.js'></script>
     <script>
// 1.直接打印img的宽度,观察其值
        console.log("直接:",$('#logo').width())       
// 2.在$(function())中打印img的宽度
         $(function  (){
             console.log("ready:",$('#logo').width())   
         })
// 3.在window.onLoad 中打印宽度
          window.onload =function(){
            console.log("onload:",$('#logo').width())       
         }

// 4.在img加载完成后打印宽度
         $('#logo').on('load',function (){
            console.log("img load:",$(this).width())
         })

         

     </script>
    
</body>
</html>

在这里插入图片描述
onload是等待所有数据加载完成之后才执行
img load是等待img数据加载完成之后就执行,所以img load在onload前面。

(注意:可能有缓存影响如果ready和直接不为0可以清空缓存在尝试)

结论

加载时间不同、监听次数不同

  • window.onload: 包括页面的图片加载完后才会回调(晚)
    只能有一个监听回调
  • $(document).ready (): 等同于:$(function(){})页面(不包含图片)加载完就回调(早)
    可以有多个监听回调
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值