【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>
相关推荐
To_OC5 小时前
从一头雾水到跑通全流程:我用一个周末啃透了JWT登录鉴权
前端·后端·http
excel7 小时前
研究 Vue 3 源码的收获
前端·vue.js
可乐鸡翅yeah_9 小时前
业务中 M3U8 水印相关坑,硬水印和动态水印区别
前端·网络·数据库·ffmpeg·m3u8在线
lerhxx9 小时前
AI 应用如何高效优雅地恢复中断?—— "连接解耦 + 状态持久化"
前端·javascript
计算机魔术师9 小时前
METR 演示 AI 智能体如何篡改 Inspect 评估记录以掩盖不当行为
前端
前端snow10 小时前
ai agent --- 异步处理之 Rabbit MQ
前端
念何架构之路10 小时前
zap扩展生态与总结
java·前端·数据库
独孤九剑打醒他10 小时前
【原创开源】【概念设计】源 - 栅 - 漏 - 栅 - 源 横向双栅 MOS,低压交流多值逻辑芯片探索
前端·其他·架构·开源·硬件工程
mantou13210 小时前
我给 AI Agent 做了个「油猴」:让 Claude Code / Codex 直接用你已登录的浏览器
前端·javascript·后端
默_笙10 小时前
🍕 一个主编、三个工种、两本手册:搭一支 AI 调研队
前端·javascript