当前位置: 首页 > news >正文

自己做网站制作建设网站模板

自己做网站制作,建设网站模板,wordpress 获取当前文章id,html教程视频教程前言 在做后端管理系统中,像弹窗或大的表单时,经常会有滚动条的出现,但有些时候如流程、图片等操作时,仅仅使用鼠标拖动滚动条操作不太方便,如果使用鼠标拖拽图片或容器来触发滚动条的移动就比较方便了 功能设计 如…

前言

在做后端管理系统中,像弹窗或大的表单时,经常会有滚动条的出现,但有些时候如流程、图片等操作时,仅仅使用鼠标拖动滚动条操作不太方便,如果使用鼠标拖拽图片或容器来触发滚动条的移动就比较方便了

功能设计

如果要实现鼠标辅助触发滚动条的移动,需要借助 mousedown,mouseup,mousemove 三个事件,通过鼠标的移动来动态修改滚动条的scrollLeft和scrollTop,来模拟实现滚动条的位置变更。
考虑到鼠标的拖动有独立和可复用性,可以创建一个类来封装鼠标事件,使用时只要把事件挂到指定的容器上,就可以实现功能的复用

1、创建鼠标移动事件类

创建move.js

// 鼠标移动滚动位置类
class Drag {constructor(vm) {this.dragWrap = vm;// 要挂载的容器this._dom = {};this._x = 0;this._y = 0;this._top = 0;this._left = 0;this.move = false;this.down = false;this.init.apply(this, arguments);}// 绑定事件init() {this.bindEvent();}// 给要素增加鼠标事件// mousedown 按下初始化// mousemove 移动// mouseup,mouseleave 松开,移出结束移动bindEvent() {let t = this;this.dragWrap.addEventListener('mousedown', (e) => {e && e.preventDefault();if (!t.move) {t.move = false;t.down = true;t._x = e.clientX;t._y = e.clientY;t._top = t.dragWrap.scrollTop;t._left = t.dragWrap.scrollLeft;}});this.dragWrap.addEventListener('mouseup',  (e) => {e && e.preventDefault();t.move = false;t.down = false;});this.dragWrap.addEventListener('mouseleave',  (e) => {e && e.preventDefault();t.move = false;t.down = false;});this.dragWrap.addEventListener('mousemove',  (e) => {if (t.down) {e && e.preventDefault();t.move = true;let x = t._x - e.clientX;let y = t._y - e.clientY;t.dragWrap.scrollLeft = t._left + x;t.dragWrap.scrollTop = t._top + y;}});}
}
export default Drag;

在页面中使用

1.在页面中使用move.js类,实现鼠标移动触发滚动条位置的移动

2.给svg添加放大功能

<template><el-row class="app-container"><el-col><el-form ref="form" v-model="value" label-width="80px" size="mini" style="position: absolute;top: 32px;z-index: 999;"><el-form-item label="缩放" prop="value"><el-input-number v-model="value" @change="changeSlider" :min="0" :max="3"></el-input-number></el-form-item></el-form><div id="navShow" style="text-align: center;overflow: hidden;height:90vh;border: 1px solid #000000;"><div><svg id="svgShow" style="cursor:pointer;width:96%;height:96%;padding: 10px;"></svg></div></div></el-col></el-row>
</template><script>
import Drag from '@/utils/move.js';
export default {name: 'ProcessingFlow',data() {return {value: 2,}},mounted() {this.changeSlider()this.initScroll()},methods: {changeSlider() {let svg = document.getElementById('svgShow')if (this.value === 1) {svg.style.transform = 'scale(1.6)'} else if (this.value === 2) {svg.style.transform = 'scale(1.9)'} else if (this.value === 3) {svg.style.transform = 'scale(2.2)'} else {svg.style.transform = 'scale(1)'}svg.style.transformOrigin = ' 0 0'let nav = document.getElementById('navShow')// 滚动元素的父容器:刷新滚轮nav.scrollIntoView()},initScroll() {let nav = document.getElementById('navShow')new Drag(nav)},}
}
</script><style scoped>
</style>

实现效果

http://www.yayakq.cn/news/950007/

相关文章:

  • 如何选择营销网站建设子目录网站
  • 泰兴住房和城乡建设厅网站ui界面设计作品模板
  • 网站备案代理公司合肥房产网新楼盘价格
  • 中国十大品牌策划公司株洲网站排名优化
  • 移动网站怎么登录个人网站可以做推广吗
  • 新手学做网站 pdf 网盘网站建设的目的与意义是什么
  • 网站建设实训结论与分析总结网站建设规划过程和
  • 网站的做网站公司山东东营建设网官方网站
  • 卢松松wordpress模板网站快速优化
  • 山东自助seo建站wordpress域名搬家
  • 一屏网站模板下载 迅雷下载 迅雷下载地址品牌网站建设找哪家
  • 湖南网站建设python数据分析
  • 网站开发需解决什么问题佛山网站建设哪个好
  • 泉州网站制作平台做网站为什么用php
  • 电子商务网站运营 需要确立国内新闻摘抄2023
  • 免费视频网站大全架设个人网站
  • 郑州市建网站怎么找外贸公司合作
  • 做外卖的网站最新办公室装修效果图
  • 深圳便宜的网站建设教育教学成果展示网站建设
  • 产品做网站网页设计报价多少
  • 怎样做网站管理网站建设与维护面试
  • 设计师效果图网站网站开发维护面试
  • 苏州开设网站公司在什么地方重庆网站建设公司海口
  • 北京 网站设计招聘信息网站建设的知识
  • 男的女的做那个的视频网站仟亿家设计软件好吗亿家
  • 全球知名购物网站有哪些非标自动化东莞网站建设
  • 淘客网站怎么备案wordpress 3.9.12
  • 网站建设费用模板自学建立网站
  • 10月哪个网站做电影票活动免费背景图片素材网
  • wordpress文章标记重庆seo推广服务