vue动态监听窗口高度 - 全背景banner

  • 参考项目文件 src/hr/index.vue 【结合下文:第一种方法】

第一种方法:【本文手写代码】

data() {return {screenHeight: document.body.clientHeight, // 当前浏览器窗口高度};
},
mounted(){// banner高度重置this.resetHeight();      $(window).resize(function(){this.resetHeight();      /*var windowsHeight = $(window).height();$('.bannerWrap').height(windowsHeight);this.screenHeight = windowsHeight;// console.log(this.screenHeight);*/});
},methods: {// banner高度重置resetHeight:function(){var windowsHeight = $(window).height();$('.bannerWrap').height(windowsHeight);this.screenHeight = windowsHeight;// console.log(this.screenHeight);},}
  • 参考地址:https://hacpai.com/article/1534819192805

第二种方法:

  1. data 中去 定义 一个记录宽度是 属性
data: {return {screenWidth: document.body.clientWidth      // 设置默认值}
}
  1. vue mounted 的时候 去挂载一下 window.onresize 方法
mounted () {const that = thiswindow.onresize = () => {return (() => {window.screenWidth = document.body.clientWidth   that.screenWidth = window.screenWidth})()}}
  1. watch去监听这个 属性值的变化,如果发生变化则讲这个val传递给this.screenWidth
watch: {screenWidth (val) {this.screenWidth = val}}
  1. 优化因为频繁触 resize函数,导致页面卡顿的问题
watch: {screenWidth (val) {if (!this.timer) {this.screenWidth = valthis.timer = truelet that = thissetTimeout(function () {// that.screenWidth = that.$store.state.canvasWidthconsole.log(that.screenWidth)that.init()that.timer = false}, 400)}}}


第三种方法:(推荐使用):

原理:在 mounted 钩子中 全局监听 resize 事件,然后绑定的函数再做具体的处理。

data(){return {clientHeight: document.body.clientHeight,},
},
mounted() {// 在DOM渲染数据时,设置下区域高度为浏览器可视区域高度.this.clientHeight = document.body.clientHeight;// 监听window的resize事件.在浏览器窗口变化时再设置下区域高度.const _this = this;window.onresize = function temp() {_this.clientHeight = document.body.clientHeight;};
},

作者:chenxc
链接:https://hacpai.com/article/1534819192805
来源:黑客派
协议:CC BY-SA 4.0 https://creativecommons.org/licenses/by-sa/4.0/



以上就是关于" vue动态监听窗口高度 - 全背景banner "的全部内容。

vue动态监听窗口高度 - 全背景banner相关推荐

  1. 监听关闭页面事件 ajax,Vue 实现监听窗口关闭事件,并在窗口关闭前发送请求

    网上很多博客说监听窗口关闭事件使用window.beforeunload,但是这个监听事件也会在页面刷新的时候执行,经过百度和自己的实际测试, 终于解决了这个问题,代码如下: mounted() { ...

  2. 动态监听DOM元素的高度

    1.背景 考虑这样一种情况,产品同学希望达到以下功能: 在我们的网页中有一个固定区域,这个区域会用于渲染从后端拉取的含有图片等资源的富文本字符串. 他需要在内容不超过一个最大高度的时候完全显示所有内容 ...

  3. vue 组件监听页面切换_vue项目如何监听窗口变化,达到页面自适应?

    [自适应]向来是前端工程师需要解决的一大问题--即便作为当今非常火热的vue框架,也无法摆脱--虽然elementui.iview等开源UI组件库层出不穷,但官方库毕竟不可能满足全部需求,因此我们可以 ...

  4. window.onresize监听窗口宽度踩坑 vue

    踩坑方法 vue组件监听页面宽度变化最近网上比较常用的方法 此方法可以实现监听窗口变化 但是! 不支持组件重复循环使用 不支持组件重复循环使用 不支持组件重复循环使用 重要的事情说三遍 ! 此方法在多 ...

  5. vue 中监听document.body.scrollTop 值总为0的解决方法

    // 基础资料 网页正文全文高: document.body.scrollHeight; 网页被卷去的高: document.body.scrollTop; scrollTop 设置或获取位于对象最顶 ...

  6. js监听html页面大小变化,JS监听窗口变化实时获取浏览器窗口大小

    原理:通过监听窗口的变化来动态获取窗口大小 用到的方法:addEventListener() 监听window的resize事件 js代码: // 定义事件侦听器函数 function watchWi ...

  7. JavaScript 中监听 div 高度的变化

    实现功能描述: 基于 vue + elementUI,在 Dialog 中有一个 Select 选择器,当 Select 的下拉列表显示时,要求高度能够撑开 Dialog.实现效果如图: 实现 实际项 ...

  8. zookeeper专题:使用zookeeper客户端实现动态监听节点并获取数据

    文章目录 1. zookeeper原生客户端 2. Curator客户端 1. zookeeper原生客户端 zookeeper原生客户端就是zookeeper官方自带的客户端,作为代码与zk服务器交 ...

  9. 聊聊RabbitMq动态监听这点事

    很长时间没有分享过学习心得了,看了下发布记录,最后一篇文章的时间都在2020-12-10年了,今天抽时间整理下一个很早就想整理的技术分享.顺便说句题外话,因为我一直没时间整理,再加上开发的小伙伴对Mq ...

最新文章

  1. 早上起来收到两个消息
  2. Spring Cloud--Honghu Cloud分布式微服务云系统—System系统管理
  3. 处理器仿存带宽_linux服务器CPU内存硬盘读写带宽等性能测试方法
  4. 至于你信不信,我反正是信了——以类为单位的编程思想
  5. write up杂项:想蹭网先解开密码
  6. [论文笔记] Towards an integrated crowdsourcing definition (Journal of Information Science, 2012)
  7. Web For Pentester -- File Upload
  8. rac一节点时间比另一个节点快_数据库数据那么多为什么可以检索这么快?
  9. ssm校园帮代服务系统的设计与实现答辩PPT模板
  10. Atitit 远程工作的几种办公模式 目录 1. 未来的趋势 远程办公 1 1.1. 遥远的阴影 1 1.2. 一个单中心的团队,是一个团队,每个人都被共处于同一物理位置。 2 1.3. 一个多站
  11. 时间格式转变 android,Android开发日期时间格式的转化
  12. 从delphi 10.3到delphi 10.4的改变实务
  13. 遍历获取文件夹下的所有文件
  14. 论文的参考文献怎样标注?
  15. 文件没保存怎么恢复?试试这个方法恢复数据
  16. excel表格如何转换成word表格_Excel表格转换为Word表格?99%的人想不到这样做最简单!...
  17. PHP的GD库函数大全
  18. pg2.OperationalError: could not connect to server: Connection timed out (0x0000274C/10060)
  19. mysql截取字符串后缀_Mysql字符串截取函数SUBSTRING的用法说明
  20. NBA live 08 游戏解说翻译和球队战术

热门文章

  1. D语言/dlang 2.085.0 发布,GC、Objective-C 混编增强
  2. RaySSH文件传输加速介绍!
  3. HttpHandler HttpModule入门篇
  4. hadoop3.0.3 SLS-Failed to create an AM
  5. linux 与有什么不同
  6. 五年后的4.20地震
  7. 【原】获取数据库(SQL SERVER 2005)的所有信息 Get all database information from SQL Server 2005 测试通过...
  8. C语言三个数排序,普通方法及进阶(不引入第三变量交换数值法)
  9. linux vim复制粘贴删除,Linux vim删除、复制、粘贴快捷键
  10. 信息学奥赛一本通 1194:移动路线 | OpenJudge NOI 2.6 2718:移动路线