首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >查找水平可滚动div的结尾并删除scroll事件

查找水平可滚动div的结尾并删除scroll事件
EN

Stack Overflow用户
提问于 2021-07-29 14:58:29
回答 1查看 35关注 0票数 1

我有一个水平滚动的div里面有不同的元素。我有一个js函数,用于在带有mouse wheel的div中移动;当我到达div的末尾时,我需要删除该事件以继续向下滚动。

这是我的示例小提琴代码:

代码语言:javascript
复制
<div class="wrapper">
  <div class="container">
    <div class="element-1"></div>
    <div class="element-2"></div>
    <div class="element-3"></div>
    <div class="element-4"></div>
  </div>
</div>

<div class="element-5"></div>
代码语言:javascript
复制
.wrapper {
  width:100vw;
  overflow-x: scroll;
}

.container {
   height: 100vh;
   width: max-content;
   overflow-x: scroll;
   overflow-y: hidden;
}

.element-1,
.element-2,
.element-3,
.element-4{
  width: 300px;
  height: 90vh;
  border: 1px solid green;
  display: inline-block;
  float: left;
}

.element-5{
   width: 300px;
   height: 100px;
   background-color: red;
}
代码语言:javascript
复制
$('.wrapper').on("wheel", function(evt) {
        evt.preventDefault();
        $(this).scrollLeft( $(this).scrollLeft() + evt.originalEvent.deltaY);
    });
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-07-29 07:17:21

我希望这就是你要找的。

我只是在你的代码中添加了一个条件来检查容器是否到达了它的正确末端。

代码语言:javascript
复制
$('.wrapper').on("wheel", function(evt) {
  if($('.wrapper').width() + $('.wrapper').scrollLeft() < $('.container').width()) {
      evt.preventDefault();
      $(this).scrollLeft( $(this).scrollLeft() + evt.originalEvent.deltaY);
    }
});
代码语言:javascript
复制
.wrapper {
  width: 500px;
  overflow-x: scroll;
}

.container {
   height: 200px;
   width: max-content;
   overflow-x: scroll;
   overflow-y: hidden;
}

.element-1,
.element-2,
.element-3,
.element-4{
  width: 300px;
  height: 150px;
  border: 1px solid green;
  display: inline-block;
  float: left;
}

.element-5{
   width: 300px;
   height: 200px;
   background-color: red;
}
代码语言:javascript
复制
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="wrapper">
  <div class="container">
    <div class="element-1"></div>
    <div class="element-2"></div>
    <div class="element-3"></div>
    <div class="element-4"></div>
  </div>
</div>

<div class="element-5"></div>

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68571450

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档