window.scrollTo(0,document.body.scrollHeight)不能在固定高度上工作?

时间:2013-08-05 05:51:16

标签: jquery jquery-mobile

当我点击按钮时,我想要在页面的末尾。我有关于此div的数据(来自服务器)。但是当我给出div高度时,它不起作用。当我从div中删除高度时,它可以正常工作。

<div id="realTimeContents" class ="left realtimeContend_h" style="width:97%; height:850px">
</div>

我将详细说明:当我从服务器获取数据时,我会使用自动滚动附加数据(这就是我需要div高度的原因)。但是当我给它高度时,它会停止到页面的末尾

function nativePluginResultHandler (result)
{
    $('#realTimeContents' ).append(result);

    var elem = document.getElementById('realTimeContents');// just to scroll down the line 
    elem.scrollTop = elem.scrollHeight;
}

这是小提琴。 http://jsfiddle.net/ravi1989/s66Ww/

4 个答案:

答案 0 :(得分:1)

尝试以下:

var $div = $("#realTimeContents");

$("#btnScroll").on("click",function(){    
    $div.scrollTop($div[0].scrollHeight);
});

在这里工作小提琴:http://jsfiddle.net/s66Ww/2/

希望它有所帮助。

答案 1 :(得分:0)

要在Selenium中向下滚动,请使用以下代码:

有时“document.body.scrollHeight”在使用React编写网站时特别适用于JavaScrip: document.documentElement.scrollHeight

以下是向下滚动和向上滚动的代码

JavascriptExecutor jse = (JavascriptExecutor) driver;
// (driver is your browser webdriver object) jse.executeScript("window.scrollBy(0,document.body.scrollHeight || document.documentElement.scrollHeight)", "");

如需向上滚动,请使用以下代码:

jse.executeScript("window.scrollBy(0,-document.body.scrollHeight || -document.documentElement.scrollHeight)", "");

答案 2 :(得分:0)

尝试此方法

首先检查document.body.scrollHeight的值为零,如果是,则尝试获取document.documentElement.scrollHeight的值

var getheight = function() {
  var sh = document.body.scrollHeight;
  return (sh && sh > 0) ? sh : document.documentElement.scrollHeight;
}

var height = getHeight()

希望有帮助

答案 3 :(得分:0)

我遇到了一个问题,那就是它并没有一直到页面末尾。我的文本没有中断,导致内容容器的宽度大于正文。这使得scrolltop在小于scrolltop值的高度最大化。

并非所有人overflow-wrap: break-word;都已将其修复。