jquery load()方法遇到的问题

jquery load()方法可以帮我们把页面重复的文档部分,比如标题栏和底部信息部分。我们可以提取到一个模板html,然后通过load方法动态加载到每个页面。在使用的过程中遇到几个问题

load方法会自动忽略掉head、body、script标签

1、如果想加载head和body里面的文档内容,可以通过将内容包裹在一个div中,然后将其加载过来
2、script部分我们可以通过load方法的回调函数动态创建加载进来
3、不建议动态加载样式表,否则会出现页面闪现的问题,即页面刷新时,出现1秒钟没渲染样式的画面,然后再恢复正常画面(原因同下)

动态加载后会出现滚动条偏移的问题

刷新页面时。滚动条偏移。
一般情况下,我们会把script文件放在文档body最后面,避免js阻塞浏览器渲染,这就导致我们会在页面渲染完后再执行我们的load方法,动态加载的页面也就是最后才加上去的,滚动条一开始就是固定在最上面的,动态加载header部分后,滚动条会偏下,并没有回到顶部

解决

在load方法的回调函数里面加入$(document).scrollTop(0);

或者利用script标签的async属性,让js脚本异步加载,然后即可将script放在头部

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值