0

我有一个max-height设置为 300px 的 div,因此每当它的内容超过数量时,它就会显示一个滚动条。现在我希望能够单击一个按钮并滚动到该 div 中的一个元素。我知道我可以设置主滚动条,但我不确定是否可以操作为我的 div 容器生成的滚动条。

我的 HTML 如下所示:

<div style="min-height: 300px; max-height: 300px; overflow: hidden" class="card-block pt-0 pb-0">
        <div class="row" style="min-height: 300px; max-height: 300px;">
            <div class="col-5" style="overflow-y: auto; min-height: 300px;border-right: 1px solid rgba(0, 0, 0, 0.125); min-height: 300px; max-height: 300px;">
                <div class="pt-3 pb-3" style=" max-height: 300px;">
                    <br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
                    <div id="scroll-here">content</div>
                </div>
            </div>
        </div>
    </div>

是否可以滚动到 id 为“scroll-here”的 div?

如果有帮助的话,我正在使用 Angular 5 和 Bootstrap 4。

4

2 回答 2

1

使用此代码滚动到跨度

$(#id_of_div_with_scroll).scrollTop($("#your_span_id").offset().top);
于 2017-11-12T21:09:38.103 回答
0

只是:

<a href="#scroll-here">Click me</a>

<div style="min-height: 300px; max-height: 300px; overflow: hidden" class="card-block pt-0 pb-0">
  <div class="row" style="min-height: 300px; max-height: 300px;">
    <div class="col-5" style="overflow-y: auto; min-height: 300px;border-right: 1px solid rgba(0, 0, 0, 0.125); min-height: 300px; max-height: 300px;" id="scroll-container">
      <div class="pt-3 pb-3" style=" max-height: 300px;">
        <br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
        <div id="scroll-here">content</div>
      </div>
    </div>
  </div>
</div>

或者,如果您希望它具有动画效果,则:

$('button').click(function() {
  $("#scroll-container").animate({ scrollTop: $('#scroll-here').offset().top });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<button>Click me</button>

<div style="min-height: 300px; max-height: 300px; overflow: hidden" class="card-block pt-0 pb-0">
  <div class="row" style="min-height: 300px; max-height: 300px;">
    <div class="col-5" style="overflow-y: auto; min-height: 300px;border-right: 1px solid rgba(0, 0, 0, 0.125); min-height: 300px; max-height: 300px;" id="scroll-container">
      <div class="pt-3 pb-3" style=" max-height: 300px;">
        <br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
        <div id="scroll-here">content</div>
      </div>
    </div>
  </div>
</div>

于 2017-11-12T21:34:12.433 回答