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

控制滚轮横向滑动

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



解决思路如下

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

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

  • 5
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

满脑子技术的前端工程师

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值