基于vue手写一个分屏器,通过鼠标控制屏幕宽度。

news/2024/11/29 6:16:18/

基于vue手写一个分屏器,通过鼠标控制屏幕宽度。

先来看看实现效果:

QQ录屏20220403095856

下面是实现代码:

<template><section class="section"><div class="left"  ref="left">这是左边的div<div class="box" ref="box"></div></div><div class="right" ref="right">这是右边的div</div></section>
</template><script>
export default {name: 'Test',mounted() {this.init()},methods: {init() {let left = this.$refs.leftlet right = this.$refs.rightlet box = this.$refs.box// firstX鼠标开始坐标位置,endX鼠标结束坐标位置,startWidth左边div开始宽度let firstX, endX, startWidthfunction myFunction(e) {// 划过左边线endX = e.clientX - firstX// 获取移动的距离left.style.width = startWidth + endX + 'px'}function selectStart(flag) {left.onselectstart = function() {return flag}right.onselectstart = function() {return flag}}box.addEventListener('mousedown',function(e) {// 当鼠标点击移动开始不选中div里的内容selectStart(false)startWidth = left.offsetWidth // 起始宽firstX = e.clientX // 起始点document.addEventListener('mousemove',myFunction) // 开始移动})box.addEventListener('mouseleave',function(e) {document.removeEventListener("mousemove", myFunction) // 结束移动})document.addEventListener('mouseup', function() {// 当鼠标点击移动结束恢复选中div里的内容selectStart(true)// 移除移动事件,注意:移除事件的回调函数必须和注册事件是同一个,要不然移除不了哦!document.removeEventListener("mousemove", myFunction) // 结束移动})}}
}
</script>
<style lang="scss" scoped>* {margin: 0;padding: 0;}.section {width: 100%;height: 100%;display: flex;}div.right {background-color: #00B83F;height: 100%;flex: 1;}div.left {width: 200px;background-color: #FFB951;z-index: 1;height: 100%;position: relative;.box {width: 50px;height: 50px;cursor: col-resize;background: red;position: absolute;right: 0;top: 0;bottom: 0;margin: auto;}}
</style>

http://www.ppmy.cn/news/334540.html

相关文章

福昕阅读器【上下分屏】阅读同一个PDF,上下文对照参考阅读,非常方便

在阅读PDF文档的时候&#xff0c;经常会碰到阅读上面几页内容&#xff0c;和下面几页解释需要对照着一起看的情况&#xff0c;总是上下来回滚动鼠标很麻烦&#xff01; 福昕阅读器的【分屏功能】完美解决这个问题。&#xff08;备注&#xff1a;目前我所知&#xff0c;文电通阅…

【时间之外】浏览器分屏使用技巧

目录 浏览器分屏 我的分屏习惯 总结 很多人都知道&#xff0c;win上下左右箭头也可以做到界面的分屏&#xff0c;今天介绍的是浏览器分屏。毕竟现在显卡和显示器的分辨率越来越高了&#xff0c;分屏功能也更加有用武之地。 浏览器分屏 最近升级了浏览器&#xff0c;具体浏…

linux vim分屏函数,Linux学习笔记之十二————vim编辑器的分屏操作

一、分屏操作: sp: 上下分屏,后可跟文件名 vsp: 左右分屏,后可跟文件名 Ctrww: 在多个窗口切换 二、启动分屏: 1.使用大写O参数进行垂直分屏 $ vim -On file1 file2 ... 2.使用小写o参数进行水平分屏 $ vim -on file1 file2 ... 注: n是数字&#xff0c;表示分屏的数量,n要大于…

linux分屏对比两个文件内容,在 Linux 下使用分屏提升工作效能

By Falcon of TinyLab.org Aug 01, 2019 手机分屏曾经成为一个大热点,很方便同时做不同的事情,比如说一边看电影,一边跟人聊天。 在 Linux 下,多独立窗口的分屏本来就支持,但是重新开一个窗口其实有点费事,所以一个窗口内分屏就成为了需求。 分屏的一个很重要应用是做代码…

dvi一分四_公司产品 - 2口4口数字DVI分配器同步显示相同画面一分二一分四一分八DVI-D分屏器 - 两口一进二出,四口一进四出...

2口4口8口数字DVI分配器一进二出一进四出一进八出多屏分配器 功能简介 &#xff0a;从一个数字 DVI Input 到 2个,4 个或8个输出DVI Outputs &#xff0a;采用外接式设计&#xff0c;无内插卡式的系统兼容性问题 &#xff0a;讯号传输达 10 公尺 ( 有效距离 ) &#xff0a;适用…

android分屏分辨率,Android2.1用罕见15分屏 华为C8600评测

1000-1500元Android主力 作为国内手机终端销量排名前三名的手机终端厂商&#xff0c;华为一直以来都是国内智能手机的推广者&#xff0c;在1000到1500元价位的Android产品当中&#xff0c;华为C8600一直都享有很高的呼声&#xff0c;这样的现象其实并不奇怪&#xff0c;无论是在…

android分屏底层实现,Android 7.0分屏原理及生命周期

7.0分屏原理7.0的Activity新增了onMultiWindowModeChanged方法,当页面在分屏或不分屏状态变换时,会回调这个方法。分屏的任务管理器和虚拟按键在com/Android/systemui目录下。长按多任务键时会调用PhoneStatusBar的toggleSplitScreenMode()方法。需要说明的是,多任务界面实际…

java如何控制分屏显示,intellij idea 分屏设置 与快捷键

1、找到分屏功能 File -> setting -> keymap,搜索(注意大小写): Split Vertically 水平分屏 Split Horizontally 垂直分屏 2、设置快捷键, 编辑快捷键的地方在搜索框同一行: 在标签上直接鼠标右键也会有这些选项。 今天偶然发现了IntelliJ中 创建main函数的快捷键,依…