在加载数据时动态滚动DIV层

时间:2011-12-09 11:06:57

标签: javascript asp.net ajax

我编写了一个聊天脚本,我用了几个月的时间来修复我的头发,以了解在使用AJAX扩展的ASP.NET中使用Databinder with Repreater将一些数据加载到它时可以向下滚动DIV层。

我今天读了一篇博客,作者刚给了我逻辑但不是代码,我不是编写高端JavaScripts的专家。任何人都可以帮我构建它。

  1. 获取滚动条位置。
  2. 如果滚动条位置不是底部,则移至底部。
  3. 如果向上滚动滚动条,则在将新项目加载到Databinder之前不要执行任何操作。
  4. 请有人为我提供上述三种语法。


    或者请告诉我是否有其他方法可以摆脱我的问题。

1 个答案:

答案 0 :(得分:3)

您可以在本机JS中使用scrollTop属性,在jQuery中使用$(selector).scrollTop()方法。在这两种情况下,您都可以为其指定一个值来更改该元素的滚动位置。

示例:

document.getElementById("myDiv").scrollTop = 100;
$("#myDiv").scrollTop(100);

修改

var div = document.getElementById('myDiv');
var scrollHeight = div.scrollHeight;
var scrollTop = div.scrollTop;
var height = parseInt(div.style.height);
if(scrollHeight - (scrollTop + height) == 0) {
    // do something when you're at the bottom
} else {
    // do something when you're NOT at the bottom
}