解决VUE mounted 钩子函数执行时 img 未加载导致页面布局的问题


Posted in Javascript onJuly 27, 2020

项目需求:图片加载时,当鼠标滚动至当前图片进行加载并加上上滑特效,实现这个效果需要对文档文档滚动位置和图片的当前位置进行比较。但是mounted 钩子函数执行时img图片并未加载出来也就是占位为空,导致图片位置计算出问题。

解决这个问题,目前想到几种种方法

一、对mounted 钩子函数 中init方法加上延时

mounted: function() {
 this.$nextTick(() => {
 // 加上延时避免 mounted 方法比页面加载早执行 或者 对img进行块级化设置宽高进行 提前站位
 setTimeout(() => {
 this.init()
 }, 100)
 })
 },
 
 init () {
 var h = $(window).height()
 var scrollTop = document.documentElement.scrollTop || window.pageYOffset || document.body.scrollTop
 var moves = $('.tp').filter(() => {
 return !$(this).hasClass('move');
 });
 moves.each((index, item) => {
 var itemTop, isShow;
 itemTop = $(item).offset().top;
 isShow = (itemTop - scrollTop) < h ? true : false;
 console.log(`${index}: ${itemTop} ${scrollTop} ${h}`)
 if(isShow) {
  $(item).addClass('move');
 }
 })
 },

二、img标签进行块级化并设置宽高进行占位

三、不使用img标签,使用div,并设置background-image

补充知识:vue 解决mounted不重加载子组件问题

有时需要在父组件中重复加载同一个子组件,但会出现子组件不重新加载的问题。

解决方法:在子组件外加一个div框住它:

解决VUE mounted 钩子函数执行时 img 未加载导致页面布局的问题

这样,父组件的数据就可以在每次加载子组件的时候传入到子组件中

以上这篇解决VUE mounted 钩子函数执行时 img 未加载导致页面布局的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
js取float型小数点后两位数的方法
Jan 18 Javascript
jQuery Trim去除字符串首尾空字符的实现方法说明
Feb 11 Javascript
JavaScript中解析JSON数据的三种方法
Jul 03 Javascript
基于dropdown.js实现的两款美观大气的二级导航菜单
Sep 02 Javascript
js创建数组的简单方法
Jul 27 Javascript
微信小程序 页面跳转及数据传递详解
Mar 14 Javascript
ionic 自定义弹框效果
Jun 27 Javascript
vee-validate vue 2.0自定义表单验证的实例
Aug 28 Javascript
Three.js中矩阵和向量的使用教程
Mar 19 Javascript
微信小程序实现语音识别转文字功能及遇到的坑
Aug 02 Javascript
vue路由 遍历生成复数router-link的例子
Oct 30 Javascript
jQuery轮播图功能制作方法详解
Dec 03 jQuery
Element Breadcrumb 面包屑的使用方法
Jul 26 #Javascript
Element PageHeader页头的使用方法
Jul 26 #Javascript
Element Dropdown下拉菜单的使用方法
Jul 26 #Javascript
Vue中的this.$options.data()和this.$data用法说明
Jul 26 #Javascript
解决vue的router组件component在import时不能使用变量问题
Jul 26 #Javascript
Element Steps步骤条的使用方法
Jul 26 #Javascript
解决vue动态路由异步加载import组件,加载不到module的问题
Jul 26 #Javascript
You might like
php入门学习知识点四 PHP正则表达式基本应用
2011/07/14 PHP
Laravel中的Blade模板引擎示例详解
2017/10/10 PHP
javaScript对文字按照拼音排序实现代码
2013/12/27 Javascript
javascript动态向网页中添加表格实现代码
2014/02/19 Javascript
js 验证身份证信息有效性
2014/03/28 Javascript
超炫的jquery仿flash导航栏特效
2014/11/11 Javascript
JavaScript中的splice()方法使用详解
2015/06/09 Javascript
用window.onerror捕获并上报Js错误的方法
2016/01/27 Javascript
Bootstrap每天必学之弹出框(Popover)插件
2016/04/25 Javascript
JavaScript的Vue.js库入门学习教程
2016/05/23 Javascript
JS中位置与大小的获取方法
2016/11/22 Javascript
基于bootstrop常用类总结(推荐)
2017/09/11 Javascript
Node.js学习之地址解析模块URL的使用详解
2017/09/28 Javascript
使用 Node.js 实现图片的动态裁切及算法实例代码详解
2018/09/29 Javascript
elementUI 动态生成几行几列的方法示例
2019/07/11 Javascript
解决vue组件中click事件失效的问题
2019/11/09 Javascript
[44:37]完美世界DOTA2联赛PWL S3 Forest vs access 第一场 12.11
2020/12/13 DOTA
python复制与引用用法分析
2015/04/08 Python
python3抓取中文网页的方法
2015/07/28 Python
儿童学习python的一些小技巧
2018/05/27 Python
使用Python检测文章抄袭及去重算法原理解析
2019/06/14 Python
python算法题 链表反转详解
2019/07/02 Python
在python image 中安装中文字体的实现方法
2019/08/22 Python
哪些是python中web开发框架
2020/06/17 Python
Python实现AES加密,解密的两种方法
2020/10/03 Python
潘多拉珠宝俄罗斯官方网上商店:PANDORA俄罗斯
2020/09/22 全球购物
CAD制图设计师自荐信
2014/01/29 职场文书
家长给孩子的评语
2014/01/30 职场文书
家长对孩子评语
2014/01/30 职场文书
雷锋精神演讲稿
2014/05/13 职场文书
审计班子对照检查材料
2014/08/27 职场文书
教师三严三实心得体会
2014/10/11 职场文书
企业年检委托书范本
2014/10/14 职场文书
结婚保证书(三从四德)
2015/02/26 职场文书
利用ajax+php实现商品价格计算
2021/03/31 PHP
Python自然语言处理之切分算法详解
2021/04/25 Python