如何控制滚轮横向滑动(原生JS实现方法)

news2024/11/24 15:54:16

控制滚轮横向滑动

提示:这个是以前讨论的时候遇到的情况 ; 回头想了一下应用场景确实挺多的,.所以今天趁周末大致的记录一下如何通过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>12313123132</mark>                                          78979879897</pre>
      </p>
    </div>

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;
    });

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

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

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

在这里插入图片描述


测试效果图如下

起始位置如下

在这里插入图片描述

移动后的位置如下

在这里插入图片描述

总结

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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/723233.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

AI for Science 交流会来了!科学计算前沿邀您共同探讨

随着深度学习不断驱动技术创新&#xff0c;人工智能科学计算迈向高质量发展道路。百度飞桨作为科学计算的坚定支持者&#xff0c;计划于7月13日举办飞桨科学计算线下交流会。本次交流会以百度飞桨深度学习框架为基座&#xff0c;广泛联动人工智能科学计算领域头部专家学者、高等…

数据宝董事长汤寒林应邀将在2023世界人工智能大会发言

摘要&#xff1a;2023世界人工智能大会即将在上海举行&#xff0c;数据宝董事长、华东江苏大数据交易中心总经理汤寒林应邀将出席产业区块链生态论坛&#xff0c;并将围绕“数据要素流通与交易”话题展开讨论。 由国家发展和改革委员会、科学技术部、工业和信息化部、国家互联…

【Linux】如何将自定义源文件打包并生成动态库

在这之前我们已经讲述了如何将自定义源文件打包并生成静态库&#xff0c;本文来带你了解如何打包成为动态库并使用 动态库打包动态库使用1.增加环境变量方法2.配置.conf文件3.创建一个软连接在当前目录4.创建一个软连接在系统库目录 静态库的加载动态库的加载 关于源文件的书写…

使用Maven创建Java Web项目

环境 windows环境 jdk8 maven3.6 IDEA2022 步骤 1.新建maven工程 使用IDEA工具&#xff0c;File->New->Project->选择项目目录&#xff0c;填写项目名称&#xff0c;选择对应选项&#xff0c;其中Create Git repository可不勾选&#xff0c;如下图所示&#xff…

怎样将递归函数转为非递归函数

一道非常不错的面试题&#xff1a;不支持递归的程序语言如何实现递归程序&#xff1f; 之所以说这道题好&#xff0c;是因为&#xff1a; 首先&#xff0c;它不是纯粹考概念和死记硬背&#xff0c;求职者在回答问题之前需要进行一定的思考&#xff1b; 其次&#xff0c;这道题…

phar协议文件包含

实验目的 通过本实验&#xff0c;了解php封装伪协议&#xff0c;掌握phar协议文件包含的用法 实验环境 操作机&#xff1a;kali 靶机&#xff1a;Windows 2007 实验地址&#xff1a;http://靶机ip/exp/include2/phar/phar1/ 用户名&#xff1a;college 密码&#xff1a;360C…

Script file ‘D:\Anaconda365\Scripts\conda-script.py‘ is not present

运行anaconda&#xff0c;出现错误&#xff0c;找不到conda-script.py&#xff0c; 解决途径&#xff1a; 用everything查找电脑上的conda-script.py文件&#xff0c; 将查到的codna-script.py文件放入Script文件夹完美解决。 再从运行conda list&#xff0c;就不报错了。

监控系统Zabbix

zabbix概述 作为一个运维&#xff0c;需要会使用监控系统查看服务器状态以及网站流量指标&#xff0c;利用监控系统的数据去了解上线发布的结果&#xff0c;和网站的健康状态。 利用一个优秀的监控软件&#xff0c;我们可以&#xff1a; 通过一个友好的界面进行浏览整个网站…

前端Vue自定义精美上下滚动通告栏组件 常用于展示公告信息 上下滚动跑马灯 上下滚动广播

前端Vue自定义精美上下滚动通告栏组件 常用于展示公告信息 上下滚动跑马灯 上下滚动广播,下载完整代码请访问uni-app插件市场地址&#xff1a;https://ext.dcloud.net.cn/plugin?id13318 效果图如下: # cc-noticeBar #### 使用方法 使用方法 <!-- 默认颜色#333公告栏 -…

YoloV5/YoloV7改进---注意力机制:SRM,卷积神经网络再校准模块,性能优于SE、GE

目录 1.SRM介绍 ​编辑 2.SRM引入到yolov5 2.1 加入common.py中&#xff1a; 2.2 加入yolo.py中&#xff1a; 2.3 yolov5s_SRM.yaml 2.4 yolov5s_SRM1.yaml 3.YOLOv5/YOLOv7魔术师专栏介绍 1.SRM介绍 论文&#xff1a;https://openaccess.thecvf.com/content…

设计模式7:装饰者模式

目录 装饰者模式是要解决什么问题&#xff1f;装饰者模式在JDK中有哪些实际应用&#xff1f;装饰者模式在Android SDK中有哪些实际应用&#xff1f;装饰者模式和适配器模式的区别是什么&#xff1f;装饰者模式和代理模式的区别是什么&#xff1f; 装饰者模式是要解决什么问题&a…

基于matlab使用单类全卷积数据描述异常检测网络检测药丸图像上的缺陷(附源码)

一、前言 此示例演示如何使用单类全卷积数据描述 &#xff08;FCDD&#xff09; 异常检测网络检测药丸图像上的缺陷。 异常检测的一个关键目标是让人类观察者能够理解为什么经过训练的网络将图像分类为异常。FCDD支持e可解释的分类&#xff0c;它用证明神经网络如何达到其分类…

Python快速将多个文件夹内的文件移动至一个文件夹内

在日常办公中生活中&#xff0c;我们经常需要将多个文件夹内的文件如&#xff1a;(图片png,jpg,jpeg&#xff0c;word文档&#xff0c;Excel,PPT等等)&#xff0c;需要将这个文件夹内的文件移动至同一个文件夹内&#xff0c;如果我们复制粘贴的话&#xff0c;将会非常的繁琐以及…

Impala3.4源码阅读笔记(七)解析ScanNode(上)

前言 本文为笔者个人阅读Apache Impala源码时的笔记&#xff0c;仅代表我个人对代码的理解&#xff0c;个人水平有限&#xff0c;文章可能存在理解错误、遗漏或者过时之处。如果有任何错误或者有更好的见解&#xff0c;欢迎指正。 正文 我们知道Impala执行一条SQL的主要流程…

在vscode中配置git bash终端

将以下配置添加到vscode中的settings.json中 "terminal.integrated.profiles.windows": {"PowerShell": {"source": "PowerShell","icon": "terminal-powershell"},"Command Prompt": {"path"…

【C++】类和对象(中篇)----->六大默认成员函数

目录 一、类的6个默认成员函数 二、构造函数 1、概念 2、特性 三、析构函数 1、概念 2、特性 四、拷贝构造函数 1、概念 2、特征 五、赋值运算符重载 1、运算符重载 2、值运算符重载 2.1 赋值运算符重载格式 2.2 赋值运算符只能重载成类的成员函数不能重载成全局函数 2.3…

使用postman发请求报错Error: connect ECONNREFUSED 127.0.0.1:33210

原因&#xff1a;代理服务器问题 解决&#xff1a; 两种方案任选其一 1.电脑网络设置&#xff0c;关闭代理服务器 2.postman 的设置proxy 取消勾选

Mac中VSCode配置vue项目环境

一、下载VSCode 进入VSCode官网&#xff0c;下载Mac版安装包 设置中文: vscode导航栏view -> Command Palette -> 输入Configure Display Language -> 选择简体中文 -> 重启 二、下载node.js 下载地址&#xff1a;node.js官网&#xff0c;建议下载长期维护版本…

交叉编译paho带SSL

1.新建文件夹 /home/yiweijiao/woke_lab/paho 2.解压paho.mqtt.c到/home/yiweijiao/woke_lab/paho/paho.mqtt.c 3.新建文件夹/home/yiweijiao/woke_lab/paho/openssl_lib 将已经交叉编译好的openssl复制到这里 4.cd /home/yiweijiao/woke_lab/paho/paho.mqtt.c 新建文件夹…

hive和datax數據採集數量對不上

hive和datax數據採集數量對不上 對數據的時候發現有些對不上&#xff0c;在hive中 staff_id DF67B3FC-02DD-4142-807A-DF4A75A4A22E’的數據只有1033 而在mysql中發現staff_id DF67B3FC-02DD-4142-807A-DF4A75A4A22E’的數據有4783條記錄&#xff08;昨天的記錄是4781&#…