解决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计算页面执行时间的函数
Dec 07 Javascript
javascript 清空form表单中某种元素的值
Dec 26 Javascript
通过AJAX的JS、JQuery两种方式解析XML示例介绍
Sep 23 Javascript
基于jQuery实现的旋转彩圈实例
Jun 26 Javascript
JavaScript中的Function函数
Aug 27 Javascript
javascript返回顶部的按钮实现方法
Jan 09 Javascript
js简单获取表单中单选按钮值的方法
Aug 23 Javascript
JavaScript 闭包机制详解及实例代码
Oct 10 Javascript
JS克隆,属性,数组,对象,函数实例分析
Nov 26 Javascript
JS中用try catch对代码运行的性能影响分析
Dec 26 Javascript
JavaScript实现各种排序的代码详解
Aug 28 Javascript
JavaScript代理模式原理与用法实例详解
Mar 10 Javascript
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
深入理解curl类,可用于模拟get,post和curl下载
2013/06/08 PHP
PHP加密扩展库Mcrypt安装和实例
2013/11/10 PHP
30个php操作redis常用方法代码例子
2014/07/05 PHP
php中static 静态变量和普通变量的区别
2016/12/01 PHP
PHP生成图片缩略图类示例
2017/01/12 PHP
PHP封装的数据库模型Model类完整示例【基于PDO】
2019/03/14 PHP
用JavaScript将从数据库中读取出来的日期型格式化为想要的类型。
2009/08/15 Javascript
Javascript 检测、添加、移除样式(className)函数代码
2009/09/08 Javascript
利用js读取动态网站从服务器端返回的数据
2014/02/10 Javascript
Nodejs实现批量下载妹纸图
2015/05/28 NodeJs
js控住DOM实现发布微博效果
2016/08/30 Javascript
Jquery循环截取字符串的方法(多出的字符串处理成&quot;...&quot;)
2016/11/28 Javascript
微信小程序实现单个卡片左滑显示按钮并防止上下滑动干扰功能
2019/12/06 Javascript
vue利用全局导航守卫作登录后跳转到未登录前指定页面的实例代码
2020/05/19 Javascript
python实现系统状态监测和故障转移实例方法
2013/11/18 Python
Python 基础教程之包和类的用法
2017/02/23 Python
详解django.contirb.auth-认证
2018/07/16 Python
在Python中定义一个常量的方法
2018/11/10 Python
pygame游戏之旅 添加游戏介绍
2018/11/20 Python
Python代码实现http/https代理服务器的脚本
2019/08/12 Python
python实现树的深度优先遍历与广度优先遍历详解
2019/10/26 Python
python数据处理——对pandas进行数据变频或插值实例
2020/04/22 Python
python实现图像随机裁剪的示例代码
2020/12/10 Python
可以随进度显示不同颜色的css3进度条分享
2014/04/11 HTML / CSS
AmazeUI中模态框的实现
2020/08/19 HTML / CSS
办公室前台岗位职责
2014/01/04 职场文书
教师中国梦演讲稿
2014/04/23 职场文书
班长演讲稿范文
2014/04/24 职场文书
励志演讲稿3分钟
2014/08/21 职场文书
教师拔河比赛广播稿
2014/10/14 职场文书
会计工作检讨书
2015/02/19 职场文书
会议简讯范文
2015/07/20 职场文书
2015年科学教研组工作总结
2015/07/22 职场文书
2016党员入党决心书
2015/09/22 职场文书
python 制作一个gui界面的翻译工具
2021/05/14 Python
Python机器学习之PCA降维算法详解
2021/05/19 Python