解决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 相关文章推荐
关于JavaScript的gzip静态压缩方法
Jan 05 Javascript
JavaScript Cookie显示用户上次访问的时间和次数
Dec 08 Javascript
鼠标滑在标题上显示图片的JS代码
Nov 19 Javascript
js清除input中type等于file的值域(示例代码)
Dec 24 Javascript
Javascript中的getUTCHours()方法使用详解
Jun 10 Javascript
jQuery监听文件上传实现进度条效果的方法
Oct 16 Javascript
node.js入门教程之querystring模块的使用方法
Feb 27 Javascript
详解如何使用webpack打包多页jquery项目
Feb 01 jQuery
Bootstrap table 实现树形表格联动选中联动取消功能
Sep 30 Javascript
使用vue实现一个电子签名组件的示例代码
Jan 06 Javascript
vue或react项目生产环境去掉console.log的操作
Sep 02 Javascript
vue大型项目之分模块运行/打包的实现
Sep 21 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
Windows 下的 PHP-PEAR 安装方法
2010/11/20 PHP
使用php 获取时间今天明天昨天时间戳的详解
2013/06/20 PHP
领悟php接口中interface存在的意义
2013/06/27 PHP
浅析PKI加密解密 OpenSSL
2013/07/01 PHP
PHP将进程作为守护进程的方法
2015/03/19 PHP
PHP编程文件处理类SplFileObject和SplFileInfo用法实例分析
2017/07/22 PHP
laravel 解决paginate查询多个字段报错的问题
2019/10/22 PHP
json原理分析及实例介绍
2012/11/29 Javascript
Javascript验证上传图片大小[前台处理]
2014/07/18 Javascript
以jQuery中$.Deferred对象为例讲解promise对象是如何处理异步问题
2015/11/13 Javascript
SpringBoot+Vue前后端分离,使用SpringSecurity完美处理权限问题的解决方法
2018/01/09 Javascript
基于jQuery.i18n实现web前端的国际化
2018/05/04 jQuery
JS实现的新闻列表自动滚动效果示例
2019/01/30 Javascript
详解JWT token心得与使用实例
2019/08/02 Javascript
小程序和web画三角形实现解析
2019/09/02 Javascript
浅谈vue项目用到的mock数据接口的两种方式
2019/10/09 Javascript
[01:01:36]Optic vs paiN 2018国际邀请赛小组赛BO2 第一场 8.19
2018/08/21 DOTA
通过mod_python配置运行在Apache上的Django框架
2015/07/22 Python
python reduce 函数使用详解
2017/12/05 Python
python爬取亚马逊书籍信息代码分享
2017/12/09 Python
Python3爬虫学习之应对网站反爬虫机制的方法分析
2018/12/12 Python
Python一行代码解决矩阵旋转的问题
2019/11/30 Python
Python环境使用OpenCV检测人脸实现教程
2020/10/19 Python
HTML5新特性 多线程(Worker SharedWorker)
2017/04/24 HTML / CSS
护理个人求职信范文
2014/01/08 职场文书
文秘人员工作职责
2014/01/31 职场文书
硕士生工作推荐信
2014/03/07 职场文书
学校门卫岗位职责
2014/03/16 职场文书
房产销售独家委托书范本
2014/10/01 职场文书
高中社区服务活动报告
2015/02/05 职场文书
稽核岗位职责
2015/02/10 职场文书
2015年医药代表工作总结
2015/04/25 职场文书
2015年外贸业务员工作总结范文
2015/05/23 职场文书
舌尖上的中国观后感
2015/06/02 职场文书
开学季:喜迎新生,迎新标语少不了
2019/11/07 职场文书
Tomcat弱口令复现及利用
2022/05/06 Servers