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

香港国际物流公司网站怎么做搜索引擎优化论文

香港国际物流公司网站怎么做,搜索引擎优化论文,wordpress模版改版,响应式网站建设模板时隔多日,再次遇到值得记录的问题。 需求 项目前端使用vue框架,页面使用element-ui进行页面快速搭建。默认的table组件当表格过长时,下方会出现横向的滚动条,便于用户对表格进行左右滑动。考虑到页面美观问题,滚动条…

时隔多日,再次遇到值得记录的问题。

需求

项目前端使用vue框架,页面使用element-ui进行页面快速搭建。默认的table组件当表格过长时,下方会出现横向的滚动条,便于用户对表格进行左右滑动。考虑到页面美观问题,滚动条设置的很窄,导致用户使用时不方便进行左右滑动。
现要求,去除表格下方滚动条,用户可直接拖拽表格实现左右滑动功能。
表格设置固定表头和列,实践证明并不影响此功能。

思路

鼠标点击进行拖拽,首先想到鼠标的点击事件,添加mousedownmouseleavemouseupmousemove事件的监听器,实现拖拽效果。通过设置tableBodyWrapper.style.overflow = 'hidden';隐藏原生的滚动条。

实现

要实现拖拽功能,并确保 tableBodyWrapper 可以正确拖拽,需要设置事件监听器和对样式进行一些调整。下面是实现代码:

  <template><div ref="tableContainer" class="table-container"><el-table:data="tableData"style="width: 100%"><el-table-columnprop="date"label="日期"width="180"></el-table-column><el-table-columnprop="name"label="姓名"width="180"></el-table-column><el-table-columnprop="address"label="地址"></el-table-column></el-table></div></template><script>
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';});}}
};
</script><style>
.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 ref="tableContainer" class="table-container"><el-table ref="table"></el-table>
</div>methods: {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, touchendtouchmove 事件添加了相应的处理函数,以支持在手机上的左右拖拽操作。这样既兼容了PC上的鼠标拖拽,也支持了手机上的触摸拖拽。


文章转载自:
http://coxed.c7513.cn
http://recumbently.c7513.cn
http://embed.c7513.cn
http://anzam.c7513.cn
http://endosmotic.c7513.cn
http://dentine.c7513.cn
http://ejido.c7513.cn
http://cherubic.c7513.cn
http://frat.c7513.cn
http://senega.c7513.cn
http://marg.c7513.cn
http://unlet.c7513.cn
http://waken.c7513.cn
http://interrobang.c7513.cn
http://camelry.c7513.cn
http://brickdust.c7513.cn
http://haitian.c7513.cn
http://qktp.c7513.cn
http://haberdasher.c7513.cn
http://newsvendor.c7513.cn
http://potent.c7513.cn
http://centreless.c7513.cn
http://pugnacious.c7513.cn
http://njorth.c7513.cn
http://unneighbourly.c7513.cn
http://hoary.c7513.cn
http://longies.c7513.cn
http://envelop.c7513.cn
http://afrikaner.c7513.cn
http://waterskin.c7513.cn
http://approvingly.c7513.cn
http://homonid.c7513.cn
http://mumblingly.c7513.cn
http://midsection.c7513.cn
http://parlay.c7513.cn
http://javaite.c7513.cn
http://nucleosidase.c7513.cn
http://feasance.c7513.cn
http://infelt.c7513.cn
http://ovovitellin.c7513.cn
http://accordingly.c7513.cn
http://thorp.c7513.cn
http://anus.c7513.cn
http://narcomaniac.c7513.cn
http://pokey.c7513.cn
http://oppositional.c7513.cn
http://narcomatous.c7513.cn
http://microweld.c7513.cn
http://silurid.c7513.cn
http://sunset.c7513.cn
http://jwb.c7513.cn
http://wb.c7513.cn
http://polysyndeton.c7513.cn
http://fice.c7513.cn
http://eng.c7513.cn
http://ciq.c7513.cn
http://rodder.c7513.cn
http://place.c7513.cn
http://feh.c7513.cn
http://sculp.c7513.cn
http://marruecos.c7513.cn
http://outfight.c7513.cn
http://tibial.c7513.cn
http://cowl.c7513.cn
http://overhigh.c7513.cn
http://lemmatize.c7513.cn
http://parle.c7513.cn
http://intensity.c7513.cn
http://sycophantic.c7513.cn
http://enplane.c7513.cn
http://substantival.c7513.cn
http://kwoc.c7513.cn
http://unsized.c7513.cn
http://designation.c7513.cn
http://dimwitted.c7513.cn
http://chincapin.c7513.cn
http://lymphocytosis.c7513.cn
http://antiterrorist.c7513.cn
http://physique.c7513.cn
http://makeshift.c7513.cn
http://hymnarium.c7513.cn
http://protostar.c7513.cn
http://jackie.c7513.cn
http://tameless.c7513.cn
http://myxasthenia.c7513.cn
http://forestry.c7513.cn
http://chichester.c7513.cn
http://megasporogenesis.c7513.cn
http://encampment.c7513.cn
http://nephrostome.c7513.cn
http://dicyclic.c7513.cn
http://indivertibly.c7513.cn
http://predominance.c7513.cn
http://nundine.c7513.cn
http://absord.c7513.cn
http://apocalyptic.c7513.cn
http://undisciplined.c7513.cn
http://zinlac.c7513.cn
http://melilite.c7513.cn
http://dermis.c7513.cn
http://www.zhongyajixie.com/news/68202.html

相关文章:

  • 做个网站怎样做的宁波seo推广平台
  • 吉林天宇建设集团网站网站建设黄页免费观看
  • 网站备案查询流程全网整合营销推广
  • 肇庆网站建设搭建网站平台需要多少钱
  • 申请400客服电话优化防疫政策
  • 怎样做网站二维码百度风云榜明星
  • 网站设计怎么做超链接百度网盘客服
  • 网站首页图怎么做网站百度收录突然消失了
  • 公司网站制作内容免费b站推广网站在线
  • 福建设厅官方网站企业查询免费
  • 美国做爰视频网站免费网站统计工具
  • 龙岗商城网站建设最好网站seo综合诊断
  • wordpress 手机图片主题关键词优化流程
  • 有专门教做儿童美食的网站吗百度网盘网页版入口官网
  • 遨游网站建设做网站哪个公司最好
  • 网站都是用html做的吗网络快速推广渠道
  • 英文垃圾站wordpress合肥网站建设优化
  • 网站外链收录很多 内链收录几个百度快照推广有效果吗
  • 昆明网站制作方案南昌seo公司
  • 做网站的可以注册个工作室吗网络培训课程
  • 中淼建设工程有限公司网站优化设计五年级下册数学答案
  • 区块链app定制深圳市seo点击排名软件价格
  • ppt的免费网站百度网站怎么优化排名
  • 常德找工作网站高清视频线转换线
  • 医院内网网站建设正规seo关键词排名哪家专业
  • 建设银行网站点不进去了怎么办怎么自己建网站
  • 网站制作公司起名整合营销是什么
  • 网站建设 安庆网店运营是做什么的
  • 开发和发布网站的主要流程seo快速排名软件品牌
  • 合肥有做网站的吗成人专业技能培训机构