【问题标题】:track a scroll position inside an HTML div跟踪 HTML div 内的滚动位置
【发布时间】:2016-02-14 09:15:53
【问题描述】:

我正在使用google visualization table 创建一个html 表,它启用了The header row remains fixed as the user scrolls.

我得到了这样的工作:http://jsfiddle.net/RjHMH/114/

我面临的问题是,当我单击row 展开表格时,它实际上重新绘制了表格,因此scroll bar 将始终位于表格的顶部。无论如何我可以在单击时跟踪滚动条的当前位置,并在重绘表格时将值设置回来?

如果是DOMscroll bar,我可以使用:

var pos = $('body').scrollTop();
table.draw(view, options);
window.scrollTo(0, pos);

那么如何跟踪div里面的滚动条呢?

【问题讨论】:

标签: javascript jquery html css google-visualization


【解决方案1】:
var currentY = 0;

$(window).scroll(function () {
    currentY = $('selector').offset().top;
    console.log(currentY);
});

获取点击位置:

$(document).click(function () {
    currentY = $('selector').offset().top;
    console.log(currentY);

});

【讨论】:

  • 哥们,请仔细看问题,滚动条在div里面,它不是body滚动条
  • 啊,已编辑。您正在寻找包含属性topleftoffset()
  • 我想我不明白你的回答。你能在jsfiddle.net/RjHMH/114中显示吗?
  • 我没有解决你的全部问题,我只是向你展示了如何获得当前位置。只需将该位置存储在一个变量中,该变量可用于任何方法将其设置回保存的位置。
【解决方案2】:
document.getElementsByClassName("google-visualization-table")[0].children[0].onscroll = function(){
    console.log(this.scrollTop); //check the number in console
}

关键是在js中获取div,或者使用jquery,然后就可以访问那个div的scrollTop了。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-03-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-27
    • 2015-12-30
    相关资源
    最近更新 更多