vue动态监听窗口高度 - 全背景banner
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
第二种方法:
- 在
data
中去 定义 一个记录宽度是 属性
data: {return {screenWidth: document.body.clientWidth // 设置默认值}
}
- 在
vue mounted
的时候 去挂载一下window.onresize
方法
mounted () {const that = thiswindow.onresize = () => {return (() => {window.screenWidth = document.body.clientWidth that.screenWidth = window.screenWidth})()}}
watch
去监听这个 属性值的变化,如果发生变化则讲这个val
传递给this.screenWidth
watch: {screenWidth (val) {this.screenWidth = val}}
- 优化因为频繁触
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相关推荐
- 监听关闭页面事件 ajax,Vue 实现监听窗口关闭事件,并在窗口关闭前发送请求
网上很多博客说监听窗口关闭事件使用window.beforeunload,但是这个监听事件也会在页面刷新的时候执行,经过百度和自己的实际测试, 终于解决了这个问题,代码如下: mounted() { ...
- 动态监听DOM元素的高度
1.背景 考虑这样一种情况,产品同学希望达到以下功能: 在我们的网页中有一个固定区域,这个区域会用于渲染从后端拉取的含有图片等资源的富文本字符串. 他需要在内容不超过一个最大高度的时候完全显示所有内容 ...
- vue 组件监听页面切换_vue项目如何监听窗口变化,达到页面自适应?
[自适应]向来是前端工程师需要解决的一大问题--即便作为当今非常火热的vue框架,也无法摆脱--虽然elementui.iview等开源UI组件库层出不穷,但官方库毕竟不可能满足全部需求,因此我们可以 ...
- window.onresize监听窗口宽度踩坑 vue
踩坑方法 vue组件监听页面宽度变化最近网上比较常用的方法 此方法可以实现监听窗口变化 但是! 不支持组件重复循环使用 不支持组件重复循环使用 不支持组件重复循环使用 重要的事情说三遍 ! 此方法在多 ...
- vue 中监听document.body.scrollTop 值总为0的解决方法
// 基础资料 网页正文全文高: document.body.scrollHeight; 网页被卷去的高: document.body.scrollTop; scrollTop 设置或获取位于对象最顶 ...
- js监听html页面大小变化,JS监听窗口变化实时获取浏览器窗口大小
原理:通过监听窗口的变化来动态获取窗口大小 用到的方法:addEventListener() 监听window的resize事件 js代码: // 定义事件侦听器函数 function watchWi ...
- JavaScript 中监听 div 高度的变化
实现功能描述: 基于 vue + elementUI,在 Dialog 中有一个 Select 选择器,当 Select 的下拉列表显示时,要求高度能够撑开 Dialog.实现效果如图: 实现 实际项 ...
- zookeeper专题:使用zookeeper客户端实现动态监听节点并获取数据
文章目录 1. zookeeper原生客户端 2. Curator客户端 1. zookeeper原生客户端 zookeeper原生客户端就是zookeeper官方自带的客户端,作为代码与zk服务器交 ...
- 聊聊RabbitMq动态监听这点事
很长时间没有分享过学习心得了,看了下发布记录,最后一篇文章的时间都在2020-12-10年了,今天抽时间整理下一个很早就想整理的技术分享.顺便说句题外话,因为我一直没时间整理,再加上开发的小伙伴对Mq ...
最新文章
- 早上起来收到两个消息
- Spring Cloud--Honghu Cloud分布式微服务云系统—System系统管理
- 处理器仿存带宽_linux服务器CPU内存硬盘读写带宽等性能测试方法
- 至于你信不信,我反正是信了——以类为单位的编程思想
- write up杂项:想蹭网先解开密码
- [论文笔记] Towards an integrated crowdsourcing definition (Journal of Information Science, 2012)
- Web For Pentester -- File Upload
- rac一节点时间比另一个节点快_数据库数据那么多为什么可以检索这么快?
- ssm校园帮代服务系统的设计与实现答辩PPT模板
- Atitit 远程工作的几种办公模式 目录 1. 未来的趋势 远程办公	1 1.1. 遥远的阴影	1 1.2. 一个单中心的团队,是一个团队,每个人都被共处于同一物理位置。	2 1.3. 一个多站
- 时间格式转变 android,Android开发日期时间格式的转化
- 从delphi 10.3到delphi 10.4的改变实务
- 遍历获取文件夹下的所有文件
- 论文的参考文献怎样标注?
- 文件没保存怎么恢复?试试这个方法恢复数据
- excel表格如何转换成word表格_Excel表格转换为Word表格?99%的人想不到这样做最简单!...
- PHP的GD库函数大全
- pg2.OperationalError: could not connect to server: Connection timed out (0x0000274C/10060)
- mysql截取字符串后缀_Mysql字符串截取函数SUBSTRING的用法说明
- NBA live 08 游戏解说翻译和球队战术
热门文章
- D语言/dlang 2.085.0 发布,GC、Objective-C 混编增强
- RaySSH文件传输加速介绍!
- HttpHandler HttpModule入门篇
- hadoop3.0.3 SLS-Failed to create an AM
- linux 与有什么不同
- 五年后的4.20地震
- 【原】获取数据库(SQL SERVER 2005)的所有信息 Get all database information from SQL Server 2005 测试通过...
- C语言三个数排序,普通方法及进阶(不引入第三变量交换数值法)
- linux vim复制粘贴删除,Linux vim删除、复制、粘贴快捷键
- 信息学奥赛一本通 1194:移动路线 | OpenJudge NOI 2.6 2718:移动路线