【Vue】鼠标滚轮横向滚动操作设计

需求:

鼠标滑轮滚动,操作横向滚动条

解决:

监控滚动操作,根据滚动偏移量,修改横向滚动条的位置

js 复制代码
<template>
  <div class="image_view">
    <div class="image_content">
      <div
        v-for="(item, index) in 20"
        :key="item"
        class="image_item"
        :style="{ background: colors[index % colors.length] }"
      ></div>
    </div>
  </div>
</template>
 
<script setup>
import TipsFooterVue from "@/components/base/TipsFooter.vue";
import { onMounted } from "vue";
 
const colors = ["red", "orange", "yellow", "green", "blue", "indigo", "violet"];
 
onMounted(() => {
  // 获取 dom
  let div = document.querySelector(".image_content");
  // 监听 dom
  div.addEventListener("wheel", function (e) {
    let left = -e.wheelDelta || e.deltaY / 2;
    console.log("wheelDelta:", -e.wheelDelta, "deltaY :", e.deltaY);
    // 修改滚动条位置
    div.scrollLeft = div.scrollLeft + left;
  });
});
</script>
 
<style lang="less" scoped>
.image_view {
  width: 100%;
  .image_content {
    width: 100%;
    height: 200px;
    display: flex;
    flex-direction: row;
    overflow-x: auto;
    overflow-y: hidden;
    .image_item {
      width: 300px;
      height: 200px;
      flex: 0 0 auto;
    }
  }
}
</style>
相关推荐
10年前端老司机4 分钟前
Promise 常见面试题(持续更新中)
前端·javascript
潘小安18 分钟前
跟着 AI 学 (一)- shell 脚本
前端·ci/cd·vibecoding
clownAdam1 小时前
Chrome性能优化秘籍
前端·chrome·性能优化
@Kerry~1 小时前
phpstudy .htaccess 文件内容
java·开发语言·前端
nueroamazing1 小时前
PPT-EA:PPT自动生成器
vue.js·python·语言模型·flask·大模型·项目·ppt
WebDesign_Mu3 小时前
为了庆祝2025英雄联盟全球总决赛开启,我用HTML+CSS+JS制作了LOL官方网站
javascript·css·html
@PHARAOH3 小时前
WHAT - 前端性能指标(交互和响应性能指标)
前端·交互
噢,我明白了3 小时前
前端js 常见算法面试题目详解
前端·javascript·算法
im_AMBER3 小时前
Web 开发 30
前端·笔记·后端·学习·web
学编程的小虎3 小时前
用 Python + Vue3 打造超炫酷音乐播放器:网易云歌单爬取 + Three.js 波形可视化
开发语言·javascript·python