当滚动位置大于表格的开头时,通过jquery,我通过“围绕”一个新表来顶部修复表的标题行(tr)(以及预先添加其他一些HTML) )。当有人滚动离开桌子(在桌子的上方或下方)时,我正试图将其恢复到原来的静态位置,然后如果桌子再次滚动则重新修复标题。我80%那里,但是有一个“.wrap”和“.prepend”函数的问题,修复标题...他们继续射击,最终破坏了代码。
我使用“.one”代替“.on”,但它不允许表重新出现(或正确隐藏)。想法?
var element_menu_hdr = $(".table_start").offset().top;
var element_menu_end = $(".table_end").offset().top;
$(window).on("scroll", function fixmenu() {
var y_scroll_pos = window.pageYOffset;
var scroll_menu_hdr = element_menu_hdr;
var scroll_menu_end = element_menu_end;
if(y_scroll_pos >= scroll_menu_hdr - 10) {
$('.fixable_tr').wrap('<table class="tablepress fixedmenu view"></table>');
$('.fixedmenu.view').prepend('<tr class="row-1 odd"><th class="column-1"></th><th id="colc" colspan="8" rowspan="1"></th></tr>');
} else if ((y_scroll_pos >= scroll_menu_end - 100) || (y_scroll_pos < scroll_menu_hdr) ) {
$('.tablepress.fixedmenu.view tbody').contents().unwrap();
$('.tablepress.fixedmenu.view').contents().unwrap();
$("table.tablepress.fixedmenu.view .row-1.odd").remove();
} else {
} // console
});