码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 如何控制滚轮横向滑动(原生JS实现方法)


    控制滚轮横向滑动

    提示:这个是以前讨论的时候遇到的情况 ; 回头想了一下应用场景确实挺多的,.所以今天趁周末大致的记录一下如何通过js去实现【横向滚动】


    文章目录

    • 控制滚轮横向滑动
    • 解决思路如下
      • `1.如何在页面中展示横向滚动条`
      • `2.如何获取鼠标的【滚动轮】`
      • `3.通过什么Api去实现滚动效果 `
    • 一、如何创建横向滚动条
      • 1.代码如下(HTML和CSS)
      • 2.效果如下图所示:
    • 二、鼠标滚动轮事件(mousewheel和wheel事件)
      • 1.wheel鼠标滚轮(完美支持所有浏览器)
        • JS代码如下所示:
        • `*&*需要注意的事项(wheel滚动方向)*&*`:
      • 2.mousewheel支持该鼠标事件的浏览器如下(生产环境不可使用,应该使用wheel)
    • 测试效果图如下
      • 起始位置如下
      • 移动后的位置如下
    • 总结
      • 祝愿看到文章的个位,每天心情舒畅,快快乐乐的工作!!!! 大家的三连就是对我的最大鼓励!!! 谢谢


    解决思路如下

    1.如何在页面中展示横向滚动条

    2.如何获取鼠标的【滚动轮】

    3.通过什么Api去实现滚动效果

    一、如何创建横向滚动条

    1.代码如下(HTML和CSS)

        <style>
          div {
            overflow-x: auto;
          }
        style>
        
       <div>
          <p style="width: 200%; height: 400px; background-color: antiquewhite">
           <pre>123                                         <mark>12313123132mark>                                          78979879897pre>
          p>
        div>
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    2.效果如下图所示:

    在这里插入图片描述

    二、鼠标滚动轮事件(mousewheel和wheel事件)

    1.wheel鼠标滚轮(完美支持所有浏览器)

    JS代码如下所示:

       let div = document.querySelector("div");
    
        div.addEventListener("wheel", function (e) {
          //这里使用的是 chrom浏览器测试的,有一些Api不太准确 ,请大家注意!!!!
          let left = -e.wheelDelta || e.deltaY / 2;
          console.log('wheelDelta:',-e.wheelDelta,"deltaY :" , e.deltaY);
          div.scrollLeft = div.scrollLeft + left;
        });
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    *&*需要注意的事项(wheel滚动方向)*&*:

    请勿想当然依据滚轮方向(即该事件的各 delta 属性值)来推断文档内容的滚动方向,要获取文档内容的滚动方向,可在文档内容滚动事件(scroll (en-US))中监视scrollLeft和scrollTop二值变化情况,即可推断出滚动方向了。

    2.mousewheel支持该鼠标事件的浏览器如下(生产环境不可使用,应该使用wheel)

    在这里插入图片描述


    测试效果图如下

    起始位置如下

    在这里插入图片描述

    移动后的位置如下

    在这里插入图片描述

    总结

    Inshow: 这次的总结还是学到了很多知识点的,同时希望文章可以帮助到大家
    MDN

    祝愿看到文章的个位,每天心情舒畅,快快乐乐的工作!!! 大家的三连就是对我的最大鼓励!!! 谢谢

  • 相关阅读:
    【数据分享】上海市道路中心线数据(无需转发\单线\shp格式)
    vue项目+xlsx+xlsx-style 实现table导出为excel的功能——技能提升
    easyConnect虚拟网卡未安装,导致连接失败(虚拟网卡安装失败)
    docker系列(4) - docker镜像制作
    [附源码]Python计算机毕业设计Django的云网盘设计
    2022年山东省安全员C证复训题库模拟考试平台操作
    Linux yum 运行时提示编码问题错误
    stm32 笔记 UART读取及HAL库应用
    sessionStorage和localStorage 的区别和使用,具体与 session 区分
    pte初步认识学习
  • 原文地址:https://blog.csdn.net/weixin_46022934/article/details/127465130
  • 最新文章
  • 【JVM】编译执行与解释执行的区别是什么?JVM 使用哪种方式?
    用 Hashids 优雅解决 C 端自增 ID 暴露问题
    V8引擎 精品漫游指南--Ignition篇(上) 指令 栈帧 槽位 调用约定 内存布局 基础内容
    LLVM Pass快速入门(四):代码插桩
    milkup:桌面端 markdown AI续写和即时渲染
    基于项目工程构建SBOM(软件物料清单)的研究
    鸿蒙应用开发UI基础第二节:鸿蒙应用程序框架核心解析与实操
    .NET 中如何快速实现 List 集合去重?
    扣子Coze实战:从0到1打造抖音+小红书热点监控智能体
    浅谈数据访问层
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号