当用户滚动到顶部时,我正在使用position:fixed
在我的表中浮动一些标题,这个方法是:http://css-tricks.com/persistent-headers/
在常规页面上一切都很好用,但每当我在另一个div中有一张桌子或者有一个固定高度的东西时overflow:auto
它就会爆炸。
我需要做的是不仅要考虑页面范围的滚动,还要考虑我的容器的滚动?并考虑滚过所述容器的“顶部”?
感谢你们指点我的任何方向。
这是我现有的代码:
var mainheader = table.rows[0];
var tableHeight = table.getHeight();
var tableScroll = table.viewportOffset();
var headerHeight = mainheader.getHeight();
// TODO: If we're scrolling a subcontainer, we need to get the offset for that too! Somehow?
// If tableHeight < 1, it means our table his hidden right now, so skip it
if (tableHeight < 1)
continue;
// If we've scroll down past the very tip top of the table, but haven't yet scroll past the end of it, show our floating headers
if (tableScroll.top < 0 && tableHeight + tableScroll.top - headerHeight > 0)
{
table.floatingheader.style.display = '';
// Handle horizontal scrolling too!
table.floatingheader.style.left = (tableScroll.left + 1) + 'px'; // 1px offset for border
}
else
table.floatingheader.style.display = 'none';
注意:我可以访问prototype.js,但没有jQuery或任何其他第三方库。 :/
答案 0 :(得分:1)
我意识到你没有使用jQuery,但你可能想在github上查看这些人的代码,看看他是如何实现它的,然后根据你的目的修改它:http://webpop.github.com/jquery.pin/