Javascript jQuery滑动表头
我的ASP.Net应用程序从codebehind生成一个Javascript jQuery滑动表头,javascript,jquery,html-table,Javascript,Jquery,Html Table,我的ASP.Net应用程序从codebehind生成一个。我需要的是,当用户滚动页面时,该表的标题行在页面上向下滑动 我使用JavaScript尝试了以下方法: window.onscroll = function () { //grab the current scroll position var scrollY = document.body.scrollTop; if (scrollY == 0) { if (window.pageYOffset
。我需要的是,当用户滚动页面时,该表的标题行在页面上向下滑动
我使用JavaScript尝试了以下方法:
window.onscroll = function () {
//grab the current scroll position
var scrollY = document.body.scrollTop;
if (scrollY == 0) {
if (window.pageYOffset)
scrollY = window.pageYOffset;
else
scrollY = (document.body.parentElement) ? document.body.parentElement.scrollTop : 0;
}
//grab the position of the header row I want to slide
var head = $("tr[name='headerrow']").offset();
var headtop = head.top;
var headleft = head.left;
//if the user has scrolled past the top of the header row
if (scrollY > headtop) {
//code correctly reaches this point as alerts show
//alert('got here');
//position the header row to the same as the scroll position
$("tr[name='headerrow']").offset({ top: scrollY, left: headleft });
}
}
我弄不动那排人。在各种浏览器开发工具上都看不到错误消息
任何帮助都将不胜感激
EDIT:我尝试对行的子元素(即所有
元素)调用offset()
函数,如下所示:
$("tr[name='headerrow']").children().offset({ top: scrollY, left: headleft });
这现在起作用了,但当然,它们都被推到了左边,因为我使用的是标题行本身的
left
值。。。我会随时更新我的进度,但在此期间,我们将一如既往地感谢您的帮助。您不能将偏移设置为任何元素。您应该使用css方法并设置顶部和左侧参数。解决方案:
使用表行上的children()
方法可以更改每个
元素的偏移量。left
值可以从offset()
方法中省略,即
$("tr[name='headerrow']").children().offset({ top: scrollY });
不正确,偏移量可应用于大多数图元-请参见上面的“我的编辑”。另外,我不能使用CSS来应用top和left,因为我没有使用
absolute
或fixed
定位。