解决网页刷新时布局紊乱(jquery ready和load事件)

PC项目开发时遇到页面刷新时会出现2S左右的紊乱,会影响到用户体验;

那么要想直接给用户呈现一个完整的页面,而不在页面加载时就呈现给用户,一般要采用预加载,可以在整个页面都加载完毕时,然后再呈现给用户。

(页面加载时,最慢的还是一些脚本、图片,其中图片是主要问题);

解决短暂的页面布局紊乱,可以使用jquery的load事件,如下:

$("#fullback").hide();
我的是一个大的div;一般直接写body就好;

也就是先把html的元素隐藏掉,接下来代码如下:

$(window).load(function () {
    $("#fullback").show();
});

在load事件的回调函数内让元素显示,这样就解决了!


面试中好多时候会问ready和load谁先执行?答案是ready先执行,load后执行;

要想知道为什么是ready先执行,就得明白DOM文档加载的步骤:

1:解析HTML结构;

2:加载外部脚本和样式表文件;

3:解析并执行脚本代码;

4:构造HTML,DOM模型;===》ready

5:加载图片等外部文件;

6:页面加载完毕;===》load


如上所示    ready事件针对的是document对象,在DOM结构绘制完成之后就会执行。这样能确保就算有大量的媒体文件没加载出来,JS代码一样可以执行。

而load事件可以针对window对象或者img这些部件加载元素,必须等到网页中所有内容全部加载完毕之后才被执行。


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值