7. window.onload与document.ready的区别

本文对比了window.onload和jQuery的$(document).ready()在网页加载中的行为,强调了window.onload在图片加载完成后才执行且只能设置一个回调,而$(document).ready()则在文档准备就绪时即调用,支持多个回调。通过实例演示了两者执行顺序的不同。
摘要由CSDN通过智能技术生成

区别: window.onload与 $(document).ready()
  * window.onload
    * 包括页面的图片加载完后才会回调(晚)
    * 只能有一个监听回调,多次设置为赋值操作,只输出最后那个
  * $(function(){}) 
    * 全称:$(document).ready()
    * 页面加载完就回调(早)
    * 可以有多个监听回调,输出多个


<body>
    <h1>测试window.onload与$(document).ready()</h1>
    <img id="logo"
        src="https://img.alicdn.com/imgextra/i1/O1CN014TkCNG1QlpX9GSZje_!!6000000002017-0-tps-750-291.jpg_Q90.jpg">
    <!-- 只有网络图片好使,本地图片好像不好使。。 -->

    <script src="js/jquery-1.10.1.js"> </script>
    <script>
        var $imgH = $('#logo')
        console.log($imgH.height())
        //没等页面代码执行完就执行了,此时获取的是0,如果不是0,清除浏览器缓存
        //解决办法1:window.onload和$(function(){})
        // 有等号 是赋值操作,只能指定一个回调函数,如果设置多个,就是覆盖操作,只输出最后的
        window.onload = function () {
            console.log('onload1:' + $imgH.height())
        };
        window.onload = function () {
            console.log('onload2:' + $imgH.height())
        };

        // 解决办法2.JQ提供的加载函数
        // 区别出来了,这个比上面那个先执行,可以指定多个回调函数,所以输出两次
        $(function () {
            console.log('onload3:' + $imgH.height())
        })
        $(function () {
            console.log('onload4:' + $imgH.height())
        })
        // 楼上的全称叫 document.ready
        // $(document).ready(function(){})
    </script>
</body>

输出:

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值