【问题标题】:Setting height of div + scroll to bottom设置div的高度+滚动到底部
【发布时间】:2016-11-29 04:13:27
【问题描述】:

我正在尝试让页面自动滚动到底部 - 世界上最简单的事情,对吧?好吧,没那么多。我们为一个非常简单的论坛提供了一个 SPA(使用 Kendo UI)。该页面的部分 JS 包括设置我们的内容 div 的高度,我发现这会阻止标准的 scrollTop 功能工作。

这是页面:

页眉是静态的,页脚是粘在页面底部的。您会注意到滚动条没有在添加评论部分的后面,这是我们设置高度的部分原因。

设置高度:

$('.content-area').height($(window).height() - ($('header nav').height() + $('.disc-add-comment-cont').height())); 

.content-area 是页面上的所有内容,不包括标题和导航。 header nav 是静态页眉, .disc-add-comment-cont 是添加注释页脚。

我用于底部滚动的代码几乎是原版的:

$("html, body").animate({ scrollTop: $(document).height() }, "slow");

我也试过了:

$("html, body").animate({ scrollTop: $(window).height() - ($('header nav').height() + $('.disc-add-comment-cont').height()) }, "slow");

考虑第一个高度计算,但没有运气。

即使使用我们现有的高度计算,我也需要滚动到底部功能才能工作。我很难发布一个可行的例子,但我 100% 确定这是我们的身高计算。把它留在代码中,滚动不起作用。注释掉,滚动按预期工作。

【问题讨论】:

    标签: javascript jquery html scroll height


    【解决方案1】:

    您的滚动条位于.content-area 元素上,而不是htmlbody,因此您应该滚动该元素:

    $(".content-area").animate({scrollTop: $('.content-area').prop("scrollHeight")}, "slow");
    

    【讨论】:

    • 哦,当然!不敢相信我错过了——尽管我确实尝试将其他 div 定位在 .content-area 中。谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-12-14
    • 2012-07-13
    • 2010-09-21
    • 1970-01-01
    相关资源
    最近更新 更多