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

深圳企业社保网站官网贵州省中海工程建设有限公司网站

深圳企业社保网站官网,贵州省中海工程建设有限公司网站,seo查询爱站,让别人做网站要注意什么6代码实现了一个基本的滑动功能#xff0c;通过鼠标按下、鼠标松开和鼠标移动事件来监听滑动操作。 具体实现逻辑如下#xff1a; 在 onMounted 钩子函数中#xff0c;我们为滚动容器添加了三个事件监听器#xff1a;mousedown 事件#xff1a;当鼠标按下时#xff0c;设置… 代码实现了一个基本的滑动功能通过鼠标按下、鼠标松开和鼠标移动事件来监听滑动操作。 具体实现逻辑如下 在 onMounted 钩子函数中我们为滚动容器添加了三个事件监听器mousedown 事件当鼠标按下时设置 control.isDown 为 true记录鼠标起始位置 control.startX 和滚动条位置 control.scrollLeft。mouseup 事件当鼠标松开时设置 control.isDown 为 false表示鼠标已经抬起。mousemove 事件当鼠标移动时如果 control.isDown 为 true则计算鼠标的滑动距离 walk并将滚动容器的 scrollLeft 属性设置为 control.scrollLeft - walk。 通过这些事件监听我们可以实现鼠标滑动时滚动容器的滚动效果。 另外该代码还包括了点击左右箭头按钮时的滑动功能。在 onPageLeft 方法中通过修改滚动容器的 scrollLeft 属性实现向左滑动一个容器宽度的距离在 onPageRight 方法中通过修改滚动容器的 scrollLeft 属性实现向右滑动一个容器宽度的距离。 结构代码 templatediv classswiperdiv classwatch-list-arrow watch-list-arrow--left clickonPageLeftdiv classwatch-list-arrow-btn←/div/divdiv refcurrencyItemsRef classcurrency-itemsdiv classcurrency-item v-for(item, index) in symbols :keyindex{{ item }}/div/divdiv classwatch-list-arrow watch-list-arrow--right clickonPageRightdiv classwatch-list-arrow-btn→/div/div/div /template 业务逻辑 script setup import { ref, reactive, onMounted } from vue; const symbols ref([BTC111,ETH,XRP,LTC,BCH,ADA,DOGE,DOT,LINK,UNI1,UNI2,UNI3,UNI4,UNI5,UNI6,UNI999 ]);const currencyItemsRef ref(null);// 左右箭头滑动 const onPageLeft () {// 版本一// currencyItemsRef.value.scrollLeft - currencyItemsRef.value.offsetWidth;// 版本二// const containerWidth currencyItemsRef.value.clientWidth;// const currentScrollLeft currencyItemsRef.value.scrollLeft;// const nextScrollLeft currentScrollLeft - containerWidth;// if (nextScrollLeft 0) {// currencyItemsRef.value.scrollTo({// left: nextScrollLeft,// behavior: smooth// });// } else {// currencyItemsRef.value.scrollTo({// left: 0,// behavior: smooth// });// }// 版本三currencyItemsRef.value.scroll({left:currencyItemsRef.value.scrollLeft - currencyItemsRef.value.offsetWidth,behavior: smooth}); };const onPageRight () {// 版本一// currencyItemsRef.value.scrollLeft currencyItemsRef.value.offsetWidth;// 版本二// const containerWidth currencyItemsRef.value.clientWidth;// const maxScrollLeft currencyItemsRef.value.scrollWidth - containerWidth;// const currentScrollLeft currencyItemsRef.value.scrollLeft;// const nextScrollLeft currentScrollLeft containerWidth;// if (nextScrollLeft maxScrollLeft) {// currencyItemsRef.value.scrollTo({// left: nextScrollLeft,// behavior: smooth// });// } else {// currencyItemsRef.value.scrollTo({// left: maxScrollLeft,// behavior: smooth// });// }// 版本三currencyItemsRef.value.scroll({left:currencyItemsRef.value.scrollLeft currencyItemsRef.value.offsetWidth,behavior: smooth}); };// 鼠标滑动 const control reactive({isDown: false, // 是否按下鼠标startX: 0, // 鼠标起始位置scrollLeft: 0 // 滚动条位置 });const move (e) {if (!control.isDown) return;e.preventDefault();const x e.pageX - currencyItemsRef.value.offsetLeft;const walk (x - control.startX) * 2; // 滑动距离currencyItemsRef.value.scrollLeft control.scrollLeft - walk;// control.scrollLeft control.scrollLeft - walk;// requestAnimationFrame(() {// currencyItemsRef.value.scrollLeft control.scrollLeft;// }); };onMounted(() {console.log(dom, currencyItemsRef.value);// 总结web端实现滑动就是对鼠标按下、鼠标松开、鼠标移动事件进行监听currencyItemsRef.value.addEventListener(mousedown, (e) {control.isDown true;control.startX e.pageX - currencyItemsRef.value.offsetLeft;control.scrollLeft currencyItemsRef.value.scrollLeft;});currencyItemsRef.value.addEventListener(mouseup, (e) {control.isDown false;});currencyItemsRef.value.addEventListener(mousemove, move); }); /script !-- 在这个示例中我们使用 vue 的 ref 函数创建了 currencyItemsRef 引用它指向滚动容器的 div 元素。我们还定义了 onPageLeft 和 onPageRight 方法用于处理点击左右箭头时的滑动事件。在 onPageLeft 方法中我们通过减去滚动容器的宽度实现了向左滑动一个容器宽度的距离。同样地在 onPageRight 方法中我们通过加上滚动容器的宽度实现了向右滑动一个容器宽度的距离。通过点击左右箭头按钮你可以看到滚动容器会相应地滑动展示出不同的项目。-- 样式 style langscss scoped .swiper {display: flex;align-items: center;width: 800px;overflow: hidden; }.watch-list-arrow {display: flex;align-items: center;justify-content: center;width: 30px;height: 30px;background-color: lightgray;cursor: pointer; }.watch-list-arrow-btn {width: 100%;height: 100%;display: flex;align-items: center;justify-content: center;font-size: 20px; }.currency-items {display: flex;gap: 10px;overflow-x: scroll;scroll-behavior: smooth;scroll-snap-type: x mandatory;-webkit-overflow-scrolling: touch;/* ::-webkit-scrollbar {display: none;} */ }.currency-item {flex: 0 0 auto;width: 100px;height: 100px;background-color: lightblue; } /style
http://www.hkea.cn/news/14537091/

相关文章:

  • 外销网站建设国内最新消息
  • 腾讯云做网站步骤网站建设有利于
  • 网站申请备案成功后怎么建设电子商务网站建设市场分析
  • 公司备案网站名称重写Wordpress的js
  • 网站微信建设运维经验pos机做网站推广
  • 山东卓创 网站建设东莞网站建设包装制品
  • 建设银行官网首页 网站一级网站和二级网站的区别
  • 网站如何做引流做网站具体流程
  • 免费个人微网站模板柳州免费做网站的公司
  • 惠州建设银行行号查询网站乐陵网站建设
  • 网站建设 天津世界顶尖名表瑞士网站不要中国手表网站
  • 潍坊网站优化公司廊坊首页霸屏排名优化
  • 网站默认后台登陆升级网站
  • 网页设计网站多少钱网站需要维护
  • 网站开发业务流程网站封面怎么做
  • 大连城乡建设网站网站建设项目需求书
  • 网站运营与管理试卷最佳商城ui网站设计
  • 做网站还得备案白石桥做网站公司
  • 做app的网站有哪些功能吗o2o模式是什么意思通俗讲
  • 免费数据分析网站在线看mv视频网站入口软件下载
  • 贵州企业网站建设公司徐州网站定制
  • 网站开发专业都有哪些课程wordpress 网校插件
  • 网站怎么做用什么软件什么值得买wordpress主题
  • 江西景德镇建设厅网站如何在自己网站做解析api
  • phpcmsv9蓝色简洁下载网站模板门头沟区专业网站制作网站建设
  • 网站开发公司组织架构株洲网站设计公司
  • seo网站推广电话wordpress 2017 漏洞
  • 做网站 阿里云网站哪个做的好
  • 公司网站宣传设计东莞网站制作南城
  • php做门户网站网络推广的渠道和方式有哪些