请问老师一个问题

请问老师一个问题

DOMContentLoaded是不是就是DOMReady?想要优化页面提高用户体验,目前学的是不是就只有现在讲的DOMReady和window.onload?有些浏览器不支持DOMReady就需要用Hack兼容?

正在回答

登陆购买课程后可参与讨论,去登陆

1回答

同学你好,问题解答如下:

  1. 没错, DOMContentLoaded就是dom内容加载完毕。因为把js代码放在head中,代码顺序执行,当页面在浏览器中打开时,会先执行js代码,再执行body里面的dom结构。如果js执行时要获取body中的元素,那么就会报错,因为页面的结构还没有加载进来。所以老师封装了一个DOMReady,就是解决这个问题,让页面结构加载完毕再执行js。

  2. window.onload也可以实现此效果。区别是DOMReady不会等待图片加载,假如页面结构中有一个很大的图片,加载的时间过长。那么页面结构会继续往下加载。而window.onload是要等待图片加载完毕之后,才会继续加载下面的结构。

  3. 后面讲到jQuery,也有一个方法 ,即$(document).ready(function(){}) ,与DOMReady实现的效果一样。

  4. 这里只是为了方便讲解,才封装了一个方法,后续学到了jQuery,直接使用$(document).ready(function(){}) 即可。

如果我的回答帮助到了你,欢迎采纳,祝学习愉快~

  • Redamancy_Y6 提问者 #1
    就是说后续会单独写一个JS脚本,写完直接将现成的引入head中再继续写要用<script>实现的效果是吗?
    2020-02-02 22:40:45
  • 好帮手慕夭夭 回复 提问者 Redamancy_Y6 #2
    不需要写了,jQuery有一个方法是$(document).ready(function(){}) ,直接用就行。和直接使用window.onload是一个道理。
    2020-02-03 09:45:15
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星

相似问题

登录后可查看更多问答,登录/注册

请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师