首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在使用Simplebar js时以编程方式滚动到div的底部

如何在使用Simplebar js时以编程方式滚动到div的底部
EN

Stack Overflow用户
提问于 2017-03-07 13:06:49
回答 4查看 8K关注 0票数 5

我正在使用单杆和角1,每当有新消息或单击菜单项时,我需要滚动到chatbox (div)的底部。

这是我的chatController.js中的滚动函数

代码语言:javascript
复制
//Function to scroll the chatbox to the bottom.
function scrollToBottom(){
    var objDiv = new SimpleBar(document.getElementById('#simple'));
    objDiv.SimpleBar.getScrollElement()

    // These 2 lines of code did the trick when I didn't use Simplebar
    //var objDiv = document.getElementById("simple");
    objDiv.scrollTop = objDiv.scrollHeight;
}

这是我的html

代码语言:javascript
复制
<div id="chatbox">
    <div class="wrapper" data-simplebar id="simple">
        <div class="chatbar">
            <div>
                <p class="left">User</p>
                <p class="right">Admin</p>
            </div>
        </div>
        <div class="empty"></div>
        <div class="messages">
            <div ng-repeat="m in messages | filter: {uc_id:userCompany}:true" 
                 ng-hide="userCompany==null" >
                <div class="chat"
                     title="Sent: {{m.timestamp}}"  
                     ng-class="(m.sentByUser ? 'left' : 'right') + ' ' + 
                               (m.sentByUser && $last ? 'unread' : '')" >
                    {{m.message}}
                </div><br><br>
            </div>
        </div>
    </div>
</div>

我得到了这个错误:

代码语言:javascript
复制
Cannot set property 'SimpleBar' of null

我还使用了一个柔性盒布局,以保持消息的底部(这也是不工作,因为简单条。但我现在要面对一个问题)

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2017-03-07 13:19:54

使用这个

代码语言:javascript
复制
$('body').scrollTop($('body').height());

可以根据dom元素替换body

票数 3
EN

Stack Overflow用户

发布于 2019-08-26 12:23:34

这是唯一对我有效的解决办法

HTML

代码语言:javascript
复制
<div id="listing-container" data-simplebar data-simplebar-auto-hide="false">
    <div>data here</div>
</div>

JavaScript

代码语言:javascript
复制
function scrollIt() {
  const scrollElement = 
  document.getElementById('listingcontainer').SimpleBar.getScrollElement();
  scrollElement.scrollTop = 1200;
}
票数 1
EN

Stack Overflow用户

发布于 2021-06-01 08:10:20

这会起作用的

代码语言:javascript
复制
$("#chatbox .simplebar-content-wrapper").scrollTop($("#chatbox .simplebar-content-wrapper").prop("scrollHeight"));
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42649146

复制
相关文章

相似问题

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