如何在div中自动向下滚动?

时间:2018-10-13 22:50:05

标签: javascript jquery html

我有以下HTML:

<div class="container-fluid">
    <div class="row wrapper">
        <div class="col-8 left-side">
            @if(count($dreams) > 0)
                @foreach($dreams as $dream)
                    <p class="dream-body">{{$dream->dream}}</p>
                @endforeach
            @endif
        </div>
        <div class="col-4 right-side">
            <div class="d-flex justify-content-between">
                <span></span>
                <a href="/about" class="about-button">?</a>
                <a href="/upload" class="add-button">+</a>
            </div>
            <p class="blue-text float-right position-absolute rotate position-vertical-text">asd</p>
            <p class="position-absolute position-percentage blue-text">23%</p>
        </div>
    </div>
</div>

该站点从左右两侧站立。右侧是静态的,根本不动。但是在左侧,我要插入很多文本。左侧应自行向上移动,而无需用户滚动,因此用户可以在此处阅读文本。

我使用以下JavaScript来实现这一目标:

function startScrollDown() {

    let leftSide = $('.left-side');

    leftSide.stop().animate({
        scrollTop: leftSide[0].scrollHeight
    }, 100000);
}

此问题是,它启动缓慢,但是在scrollTopscrollHeight值更改之后,并且根据滚动距离,滚动变得越来越快,在某个点之后,滚动变得超级快快。

我应该如何修改它以实现相同的速度滚动?

1 个答案:

答案 0 :(得分:2)

为线性动画的参数添加线性。

function startScrollDown() {

  let leftSide = $('.left-side');

  leftSide.stop().animate({
      scrollTop: leftSide[0].scrollHeight
  }, 100000, 'linear');
}