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

临沧网站建设公司服装平台网站有哪些

临沧网站建设公司,服装平台网站有哪些,网站观赏,wordpress编辑html时隔多日#xff0c;再次遇到值得记录的问题。 需求 项目前端使用vue框架#xff0c;页面使用element-ui进行页面快速搭建。默认的table组件当表格过长时#xff0c;下方会出现横向的滚动条#xff0c;便于用户对表格进行左右滑动。考虑到页面美观问题#xff0c;滚动条…时隔多日再次遇到值得记录的问题。 需求 项目前端使用vue框架页面使用element-ui进行页面快速搭建。默认的table组件当表格过长时下方会出现横向的滚动条便于用户对表格进行左右滑动。考虑到页面美观问题滚动条设置的很窄导致用户使用时不方便进行左右滑动。 现要求去除表格下方滚动条用户可直接拖拽表格实现左右滑动功能。 表格设置固定表头和列实践证明并不影响此功能。 思路 鼠标点击进行拖拽首先想到鼠标的点击事件添加mousedown、mouseleave、mouseup和mousemove事件的监听器实现拖拽效果。通过设置tableBodyWrapper.style.overflow hidden;隐藏原生的滚动条。 实现 要实现拖拽功能并确保 tableBodyWrapper 可以正确拖拽需要设置事件监听器和对样式进行一些调整。下面是实现代码 templatediv reftableContainer classtable-containerel-table:datatableDatastylewidth: 100%el-table-columnpropdatelabel日期width180/el-table-columnel-table-columnpropnamelabel姓名width180/el-table-columnel-table-columnpropaddresslabel地址/el-table-column/el-table/div/templatescript export default {data() {return {tableData: [{date: 2016-05-02,name: 王小虎,address: 上海市普陀区金沙江路 1518 弄}, {date: 2016-05-04,name: 王小虎,address: 上海市普陀区金沙江路 1517 弄}, {date: 2016-05-01,name: 王小虎,address: 上海市普陀区金沙江路 1519 弄}, {date: 2016-05-03,name: 王小虎,address: 上海市普陀区金沙江路 1516 弄}]};},mounted() {this.enableDrag();},methods: {enableDrag() {this.$nextTick(() {const tableContainer this.$refs.tableContainer;const tableBodyWrapper this.$refs.table.$el.querySelector(.el-table__body-wrapper);if (!tableBodyWrapper) {console.error(找不到表体。);return;}let isDown false;let startX, scrollLeft;tableBodyWrapper.addEventListener(mousedown, (e) {isDown true;startX e.pageX - tableBodyWrapper.offsetLeft;scrollLeft tableBodyWrapper.scrollLeft;tableBodyWrapper.style.cursor grabbing;});tableBodyWrapper.addEventListener(mouseleave, () {isDown false;tableBodyWrapper.style.cursor grab;});tableBodyWrapper.addEventListener(mouseup, () {isDown false;tableBodyWrapper.style.cursor grab;});tableBodyWrapper.addEventListener(mousemove, (e) {if (!isDown) return;e.preventDefault();const x e.pageX - tableBodyWrapper.offsetLeft;const walk (x - startX) * 2; // scroll-fasttableBodyWrapper.scrollLeft scrollLeft - walk;});// 隐藏滚动条tableBodyWrapper.style.overflowX hidden;});}} }; /scriptstyle .table-container {overflow: hidden;white-space: nowrap; }.el-table__body-wrapper {cursor: grab; }.el-table__body-wrapper:active {cursor: grabbing; } /style解释 获取DOM元素在this.$nextTick()回调中通过this.$refs.table.$el.querySelector(.el-table__body-wrapper)获取到实际的表格内容区域的DOM元素。这样就确保我们在对DOM元素进行操作而不是组件实例。检查 DOM 元素存在在 this.$nextTick 中我们先检查 tableElement 是否存在然后再查询 tableBodyWrapper。添加错误处理如果 tableBodyWrapper 没有找到输出错误信息到控制台。这有助于调试并确保代码的稳健性。拖拽事件绑定到 tableBodyWrapper确保拖拽事件绑定在实际可滚动的 tableBodyWrapper 上。样式调整使用 tableBodyWrapper 的样式来显示抓手光标并在拖动时切换光标样式。隐藏水平滚动条通过设置 overflowX: hidden 来隐藏原生滚动条但确保滚动功能仍然有效。 更新兼容手机拖拽功能 因之前代码只对pc端进行实现手机进行拖拽无反应现新加入手机拖拽事件。以下是修改后的代码添加了触摸事件的支持 div reftableContainer classtable-containerel-table reftable/el-table /divmethods: {enableDrag () {this.$nextTick(() {const tableContainer this.$refs.tableContainer;const tableBodyWrapper this.$refs.table.$el.querySelector(.el-table__body-wrapper);if (!tableBodyWrapper) {console.error(Table body wrapper not found.);return;}let isDown false;let startX, scrollLeft;// 鼠标事件tableBodyWrapper.addEventListener(mousedown, (e) {isDown true;startX e.pageX - tableBodyWrapper.offsetLeft;scrollLeft tableBodyWrapper.scrollLeft;tableBodyWrapper.style.cursor grabbing;});tableBodyWrapper.addEventListener(mouseleave, () {isDown false;tableBodyWrapper.style.cursor grab;});tableBodyWrapper.addEventListener(mouseup, () {isDown false;tableBodyWrapper.style.cursor grab;});tableBodyWrapper.addEventListener(mousemove, (e) {if (!isDown) return;e.preventDefault();const x e.pageX - tableBodyWrapper.offsetLeft;const walk (x - startX) * 2; // scroll-fasttableBodyWrapper.scrollLeft scrollLeft - walk;});// 触摸事件tableBodyWrapper.addEventListener(touchstart, (e) {isDown true;startX e.touches[0].pageX - tableBodyWrapper.offsetLeft;scrollLeft tableBodyWrapper.scrollLeft;});tableBodyWrapper.addEventListener(touchend, () {isDown false;});tableBodyWrapper.addEventListener(touchmove, (e) {if (!isDown) return;e.preventDefault();const x e.touches[0].pageX - tableBodyWrapper.offsetLeft;const walk (x - startX) * 2; // scroll-fasttableBodyWrapper.scrollLeft scrollLeft - walk;});// 隐藏滚动条tableBodyWrapper.style.overflowX hidden;});} }在这个代码中我们为 touchstart, touchend 和 touchmove 事件添加了相应的处理函数以支持在手机上的左右拖拽操作。这样既兼容了PC上的鼠标拖拽也支持了手机上的触摸拖拽。
http://www.w-s-a.com/news/380709/

相关文章:

  • wordpress做门户seo培训价格
  • 百度关键词优化软件如何wordpress站点地图优化
  • 使用cnnic证书的网站营销公司有哪些
  • 做电子杂志用什么网站如何将网站生成二维码
  • 三点水网站建设洛阳市建设厅网站
  • 哪家做网站便宜网络推广培训吧
  • 网站怎么做支付非凡软件站
  • 北京谁会做网站开发熊岳网站怎么做
  • 南阳哪有做网站公司定制网站本地企业
  • 平板上做网站的软件邀约网站怎么做请柬
  • 企业网站成品源码邯郸做网站流程
  • 建设网站需要什么技术两个网站放在同一个服务器 备案
  • 焦作做网站推广天津网络关键词排名
  • siteserver cms网站访问量挂机宝可以做网站吗
  • 普宁网站建设公司网络商城设计
  • wordpress主题 外贸网站wordpress安装后输入帐号登不进去
  • 陕西省西安市建设局网站永登网站设计与建设
  • 广东网站设计招工.免费咨询贷款
  • 做试题网站在线做c 题的网站
  • 青岛发现51例阳性南京专业网站优化公司
  • 南昌建站如何上wordpress
  • 洛阳网站建设优惠公司建筑企业上市公司有哪些
  • 营销型网站建设营销型网站建设手机网站设计需要学什么
  • 在线视频网站 一级做爰片南通网站建设找哪家
  • 网站优化文章东莞专业网站建设价钱
  • 哈尔滨网页设计网站模板泰兴建设局网站
  • 响应式网站设计公司报纸做垂直门户网站
  • 陕西旭泽建设有限公司网站企业网站建设软件需求分析
  • 上海公司网站建设方案中企动力西安分公司
  • dedecms网站后台怎样才能上百度