如何使用overflow-y滚动到div中的元素

时间:2017-11-12 20:54:13

标签: javascript css angular bootstrap-4 angular5

我有一个div,其max-height设置为300px,因此只要其内容超过金额,它就会显示一个滚动条。现在我希望能够单击一个按钮并滚动到该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,如果有任何帮助的话。

2 个答案:

答案 0 :(得分:0)

使用此代码滚动到范围

$(#id_of_div_with_scroll).scrollTop($("#your_span_id").offset().top);

答案 1 :(得分:0)

它只是:

&#13;
&#13;
<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>
&#13;
&#13;
&#13;

或者,如果你想要它的动画,那么:

&#13;
&#13;
$('button').click(function() {
  $("#scroll-container").animate({ scrollTop: $('#scroll-here').offset().top });
});
&#13;
<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>
&#13;
&#13;
&#13;