我正在处理其他人放在一起的代码。我们的想法是,在一个页面上,您在页面上有多个表。首先,它们只是一个图像,但当您点击图像时,您可以查看整个表格。这些表格包含在div叠加层中,可根据您在页面上的位置控制表格的位置。
该脚本基本上可以找到您在页面上的位置,然后将“top”属性添加为内联样式,像素将取决于您单击的表以及您在页面上的位置。它适用于所有浏览器,但IE7 / 8。
我解决了问题是,它没有将'top'属性添加为内联样式。在IE7 / 8中,我尝试添加一个类,其中顶部可以添加到那里,但样式不能动态添加。
无论如何,这里有一些代码:
添加top属性的JS片段:
// Get the current browser size and scroll position
viewport_width = viewport().width;
viewport_height = viewport().height;
viewport_offsetx = window.pageXOffset;
viewport_offsety = window.pageYOffset;
$("#tablesorter_overlay").css("top", viewport_offsety);
table_instance = $("#tablesorter_" + $(this).attr("rel"));
table_instance.css("position", "absolute");
// Make a copy of this table so we'll have the original safe, and set it to be sorted. Add it to the overlay
new_table_instance = table_instance.clone().tablesorter();
new_table_instance.appendTo("#tablesorter_overlay");
new_table_instance.show();
//表&单击表格后重叠HTML ...
<div id="tablesorter_overlay" style="top: 2803px;" class="topclass">
<p class="tablesorter_overlay_close"><a href="#">X</a></p><table cellspacing="0" cellpadding="0" class="tablesorter generic" id="tablesorter_2" style="max-width: 95%; position: absolute;">
<thead>
<tr> etc..
**注意:html代码是firefox代码,它在IE中是相同的,但没有'top'属性。
我知道代码不足但我希望你不再需要了,因为我(手指交叉)发现了问题。
谢谢!
约什
的 ANSWER 的 *
function getScrollTop(){
if(typeof pageYOffset!= 'undefined'){
//most browsers
return pageYOffset;
}
else{
var B= document.body; //IE 'quirks'
var D= document.documentElement; //IE with doctype
D= (D.clientHeight)? D: B;
return D.scrollTop;
}
}
答案 0 :(得分:0)
尝试将position:relative放在其父级上。
答案 1 :(得分:0)
function getScrollTop()
{
if(typeof pageYOffset!= 'undefined'){
//most browsers
return pageYOffset;
}
else{
var B= document.body; //IE 'quirks'
var D= document.documentElement; //IE with doctype
D= (D.clientHeight)? D: B;
return D.scrollTop;
}
}