2013-03-29 4 views
0

Я использую 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 или любой другой 3-ий партийной библиотеки. :/

ответ

1

Я понимаю, что вы не используете JQuery, но вы можете посмотреть на это ребята код на GitHub и посмотреть, как он реализует его, а затем изменить его для своих целей: http://webpop.github.com/jquery.pin/

+0

Это именно то, что мне было нужно , Благодаря! – DOOManiac

Смежные вопросы