IE7/8动态添加css属性'top'作为内联样式
问题描述:
我正在编写其他人放在一起的代码。这个想法是,在一个页面上,你在页面上有多个表格。首先,他们只是一个图像,但当你点击图像,你可以查看整个表格。这些表格包裹在一个div覆盖层中,根据您在页面上的位置来控制表格的位置。IE7/8动态添加css属性'top'作为内联样式
该脚本基本上可以找到您在页面上的位置,然后将“顶部”属性添加为内联样式,并且像素将取决于您点击哪张表以及页面上的位置。它在所有的浏览器,但IE7/8工作正常。
我已经解决了问题是,它没有添加'顶部'属性作为内联样式。在IE7/8中。我尝试添加一个类,其中可以添加顶部,但不能以这种方式添加动态样式。
反正这里是一些代码:
的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;
}
}
答
尝试把位置:相对其父。
答
功能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;
}
}
乔希,欢迎SO。看来你已经找到了自己解决问题的办法。在这种情况下,SO鼓励您将解决方案作为答案进行发布并接受,以便因遇到同样问题而终止在此页面的人员可以获得解决方案。 – vzwick 2012-09-18 00:00:34