javascript - 平滑滚动到特定 div 上的目标

标签 javascript jquery scroll

当我单击按钮时,我试图找到具有 smoothscroll 效果的元素,如果目标位于 div 内,如何滚动到目标。

我正在尝试这种方法,但没有成功。如果位于 div 内部,是否可以滚动到目标

$(document).ready(function(){
  $('button').click(function(){
    $('.box').animate({
      scrollTop: $("#find").offset().top
    }, 2000);
  });
});
.box{
  clear: both;
}
.left{
  float: left;
  width: 20%;
  height: 200px;
  overflow-x: hidden;
  background-color: red;
}

#find{
  margin-top: 400px;
}

#find p{
  background-color: green
}


.right{
  float: left;
  margin-left: 10px;
  width: 50%;
  background-color: yellow;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="box">
<div class="left">
  <div id="find">
    <p>find me</p>
  </div>
</div>
<div class="right">
  <button>jump</button>
</div>
</div>

最佳答案

你的逻辑是正确的,你只是滚动了错误的元素。您需要在 .left 元素上调用 animate(),因为这是溢出的元素:

$(document).ready(function() {
  $('button').click(function() {
    $('.left').animate({
      scrollTop: $("#find").offset().top
    }, 2000);
  });
});
.box {
  clear: both;
}

.left {
  float: left;
  width: 20%;
  height: 200px;
  overflow-x: hidden;
  background-color: red;
}

#find {
  margin-top: 400px;
}

#find p {
  background-color: green
}

.right {
  float: left;
  margin-left: 10px;
  width: 50%;
  background-color: yellow;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="box">
  <div class="left">
    <div id="find">
      <p>find me</p>
    </div>
  </div>
  <div class="right">
    <button>jump</button>
  </div>
</div>

关于javascript - 平滑滚动到特定 div 上的目标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45608341/

相关文章:

javascript - Play framework 2 - javascript 文件中的 i18n

javascript - 如何向 Mocha 输出报告添加文本

javascript - 在循环 jQuery 上添加元素

javascript - 滚动时停止 touchstart 执行得太快

javascript - 在浏览器调整大小时带有可调整大小图像的页面

javascript - Owl Carousel 不适用于 Rails

javascript - 如何获取动态生成的按钮的ID

javascript - 以 rgb() 格式获取颜色的 r、g、b 分量

wpf - 需要滚动一个 WPF 网格

javascript - JS - 获取视口(viewport)中元素的百分比