滑动鼠标滑轮,内容左右滚动

本文详细介绍了如何使用HTML、CSS和JavaScript创建一个带有动态滚动条的元素列表。通过JavaScript处理鼠标滚轮事件,实现列表元素在X轴上的滚动。当用户滚动时,元素会按照预设的步长进行平滑滚动。
摘要由CSDN通过智能技术生成

html

<div class="roll" id="x-roll">
    <div class="roll-item" v-for="(item,index) in list" :key=""> </div>
</div>

css

.roll{
    overflow-x: auto;  // x轴超出就显示滚动条
    display: -webkit-box;  // 跟flex布局差不多
}

.roll-item{
    width: 500px;
}

js代码

// 初始化与绑定监听事件方法
  function scrollInit() {
    // 获取要绑定事件的元素
    const nav = document.getElementById("x-roll")
    // document.addEventListener('DOMMouseScroll', handler, false)
    // 添加滚轮滚动监听事件,一般是用下面的方法,上面的是火狐的写法
    nav.addEventListener('mousewheel', handler, false)
    // 滚动事件的出来函数
    function handler(event) {
      // 获取滚动方向
      const detail = event.wheelDelta || event.detail;
      // 定义滚动方向,其实也可以在赋值的时候写
      const moveForwardStep = 1;
      const moveBackStep = -1;
      // 定义滚动距离
      let step = 0;
      // 判断滚动方向,这里的100可以改,代表滚动幅度,也就是说滚动幅度是自定义的
      if (detail < 0) {
        step = moveForwardStep * 100;
      } else {
        step = moveBackStep * 100;
      }
      // 对需要滚动的元素进行滚动操作
      nav.scrollLeft += step;
    }
  }

加载页面的时候执行一次scrollInit监听事件就可以了

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
JavaScript中,可以通过监听鼠标滚轮事件来实现鼠标左右滑动元素相反方向滚动的效果。具体步骤如下: 1. 首先,需要获取要滚动的元素。可以通过getElementById()、getElementsByClassName()或querySelector()等方法获取到对应的元素对象。 2. 接下来,需要给该元素添加鼠标滚轮事件监听器。可以使用addEventListener()方法来为元素绑定"wheel"事件。 3. 在事件处理函数中,可以通过event对象的deltaX属性来获取鼠标滚轮在水平方向上的滚动值。根据滚动值的正负,可以判断鼠标是向左滑动还是向右滑动。 4. 根据滑动方向,可以通过改变元素的scrollLeft属性来实现元素的滚动效果。如果鼠标向左滑动,则scrollLeft值增加;如果鼠标向右滑动,则scrollLeft值减少。 下面是一个简单的示例代码: ```javascript // 获取要滚动的元素 var element = document.getElementById("scrollableElement"); // 添加鼠标滚轮事件监听器 element.addEventListener("wheel", function) { // 获取鼠标滚轮在水平方向上的滚动值 var deltaX = event.deltaX; // 判断滑动方向并改变元素的scrollLeft值 if (deltaX < 0) { // 鼠标向左滑动,scrollLeft值增加 element.scrollLeft += 10; } else { // 鼠标向右滑动,scrollLeft值减少 element.scrollLeft -= 10; } // 阻止默认的滚动行为 event.preventDefault(); }); ``` 请注意,上述代码只是一个简单的示例,实际应用中可能需要根据具体需求进行适当的修改和优化。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值