获取页面宽度高度

方法来自:小讴

1、监听窗口变化
获取窗口宽度:document.body.clientWidth
监听窗口变化:window.onresize
2、JS方法
网页可见区域宽:document.body.clientWidth
网页可见区域高:document.body.clientHeight
网页可见区域宽:document.body.offsetWidth(包括边线的宽)
网页可见区域高:document.body.offsetHeight (包括边线的宽)

将document.body.clientWidth赋值给data中自定义的变量:

data:{screenWidth: document.body.clientWidth
}

在页面mounted时,挂载window.onresize方法:

mounted () {const that = thiswindow.onresize = () => {return (() => {window.screenWidth = document.body.clientWidththat.screenWidth = window.screenWidth})()}
}

监听screenWidth属性值的变化,打印并观察screenWidth发生变化的值:

watch:{screenWidth(val){// 为了避免频繁触发resize函数导致页面卡顿,使用定时器if(!this.timer){// 一旦监听到的screenWidth值改变,就将其重新赋给data里的screenWidththis.screenWidth = valthis.timer = truelet that = thissetTimeout(function(){// 打印screenWidth变化的值console.log(that.screenWidth)// 这个时候就可以监测页面窗口宽度高度等值啦!that.timer = false},400)}}
}

运用:页面缩放时所有操作按钮缩成一个“更多”按钮

 <el-table>...<el-table-column label="操作">// 如果页面缩小,全部缩成一个“更多”按钮<template v-if="handleFlag==false"><el-dropdown><span class="el-dropdown-link"><el-button type="text" icon="el-icon-caret-bottom" style="color:#256da0">更多操作</el-button></span><el-dropdown-menu slot="dropdown"><el-dropdown-item v-if="scope.row.isEnding==0" ><el-button type="text" icon="el-icon-edit"style="color:#256da0" @click="editHandle(scope.row, scope.$index)">编辑本条</el-button></el-dropdown-item></el-dropdown-menu></el-dropdown></template>// 如果页面不缩小,全部按钮展示<template v-if="handleFlag"><el-button type="text" icon="el-icon-edit" v-if="scope.row.isEnding==0" style="color:#256da0" @click="editHandle(scope.row, scope.$index)">编辑</el-button><el-button type="text" icon="el-icon-delete" style="color:#f56c6c;margin-left: 10px;" @click="handleDel(scope.row)">删除</el-button><el-button type="text" icon="el-icon-view" v-if="scope.row.isEnding==0" style="color:#68b6d0" @click="intoHandle(scope.row)">进入</el-button><el-button type="text" icon="el-icon-s-data" style="color:#67C23A" @click="intoViewHandle(scope.row)">分析</el-button><el-button type="text" icon="el-icon-check" v-if="scope.row.isEnding==0" style="color:#909399" @click="finishHandle(scope.row)">完结</el-button></template></el-table-column>
</el-table>
data() {return {handleFlag:false,screenWidth: document.body.clientWidth,}}
mounted () {let that = thiswindow.onresize = () => {return (() => {window.screenWidth = document.body.clientWidththat.screenWidth = window.screenWidth})()}},
  watch:{screenWidth(val){// 为了避免频繁触发resize函数导致页面卡顿,使用定时器if(!this.timer){// 一旦监听到的screenWidth值改变,就将其重新赋给data里的screenWidththis.screenWidth = valthis.timer = truelet that = thissetTimeout(function(){// 打印screenWidth变化的值if (that.screenWidth<1430) {that.handleFlag=false;console.log(1,that.handleFlag,that.screenWidth)} else {that.handleFlag=true;console.log(2,that.handleFlag,that.screenWidth)}that.timer = false},400)}}},


【vue】页面缩放获取屏幕宽度、多个按钮根据屏幕宽度合并成一个按钮相关推荐

  1. vue点击按钮实现跳转到另一个vue页面

    首先需要对按钮绑定一个函数,然后在函数里进行页面路由的改变. 这里要确保项目中已经在使用vue-router. 如图,我想要跳转到这个index.vue页面 那么按钮绑定的函数里的路径应该这么写: 然 ...

  2. jq获取页面高度_js与jquery获取屏幕宽度与高度

    1,javascript获取屏幕宽度与高度 网页可见区域宽: document.body.clientwidth 网页可见区域高: document.body.clientheight 网页可见区域宽 ...

  3. IOS上从第三方页面回跳VUE页面页面不刷新问题

    情景描述: IOS系统环境下,从微信的vue页面A中跳转到第三方页面B,然后点击浏览器返回按钮返回A页面. 问题描述: IOS系统下,A页面没有刷新:Android正常刷新. 问题解决: 在A页面mo ...

  4. 小程序通过web-view访问的vue页面中点击无法跳转到小程序相关问题

    问题描述: 点击小程序中的一个按钮或者一个banner图片,通过小程序web-view组件到进入一个vue的页面中,在该vue页面中点击图片无法按照要求回到指定的小程序中,点击操作没有任何反应. 解决 ...

  5. vue页面返回消息头获取_vue在响应头response中获取自定义headers操作

    日常开发,我们可能会为了安全问题,保证第三方无法通过伪造返回报文欺骗前端,需要在返回报文中添加自定义参数,用于验证身份,后端添加自定义参数,前端校验自定义参数通过后才会执行相应的操作. 系统为了安全会 ...

  6. vue 组件第一次不渲染问题_解决vue页面渲染但dom没渲染的操作

    我就废话不多说了,大家还是直接看代码吧~ this.$nextTick(() => { $("select[name='ddlCostCenter']").select2({ ...

  7. VUE弹窗加载另一个VUE页面

    之前实现了一个功能VUE利用tree-transfer插件实现角色菜单动态设置 在这个功能的基础上,进一步完善 角色列表Uacter.vue页面,点击[菜单设置]按钮,弹出角色菜单MenuRole.v ...

  8. Android 与Vue 页面交互

    1.加载html private void initView() {WebSettings webSettings1 = webview.getSettings();webSettings1.setJ ...

  9. vue 页面转pdf 并下载

    最近需要做一个下载vue页面为pdf格式的功能,网上方案有很多,也尝试了其他方案,最终采用的方案 流程就是点击下载报告按钮,则请求后端一个接口,例如接口地址为example.cn/file/downl ...

最新文章

  1. LeetCode实战:不同路径
  2. 双轴机械臂位置闭环控制:STC8H1K28,42HS48EIS,BH32
  3. linux ssh别的机器,Linux SSH 登录其他机器
  4. Python爬虫 - 解决动态网页信息抓取问题
  5. 今天小暑是什么时间_小暑适合发朋友圈的说说 小暑吐槽天气热的搞笑幽默说说...
  6. HOOK学习笔记与心得
  7. 前端学习(1169):实例数组find
  8. Magento 自定义URL 地址重写
  9. 如何用Pygame写游戏(九)
  10. php拖拽上传大文件,如何实现文件拖拽上传
  11. 解决嵌套块级元素垂直外边距的塌陷
  12. iChart--地图显示人口统计
  13. 海湾5000汉字编码app
  14. beaker-用于会话和缓存的WSGI中间件
  15. 硕士研究生阶段如何学习slam机器人?
  16. 百度seo关键词优化 优化技巧是什么
  17. 中国制造2025关于智能驾驶汽车的相应介绍
  18. InnoDB---深入理解事务提交--02
  19. python class tynu()_Task02-BaseLine.ipynb
  20. 关于身份认证和鉴权过程

热门文章

  1. 吕布打法教学(暴击流+吸血流)
  2. Android应用开发-小巫CSDN博客客户端之集成友盟社会化分享组件,2021最新Android框架体系架构面试题
  3. 围观苹果高通口水战,今年没有5G版iPhone全怪高通?
  4. 脑子一热,裸辞之后的我闭关5个月,成功转型数据分析师
  5. 我电脑中乱七八糟的TXT文件
  6. 一个系列涨粉47w,小红书内容创意卷出新高度
  7. Google的非主流功能
  8. Sony索尼XZP(G8142)无GUG开启全局4K显示模式
  9. mini电脑做linux,自己动手做一个Mini Linux
  10. 小米盒子 服务器正确的用户名和密码,【完美】【手把手教你使小米盒子与电脑完美共享】...