2012-07-20 55 views
1

我正在编写其他人放在一起的代码。这个想法是,在一个页面上,你在页面上有多个表格。首先,他们只是一个图像,但当你点击图像,你可以查看整个表格。这些表格包裹在一个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; 
    } 
    } 
+1

乔希,欢迎SO。看来你已经找到了自己解决问题的办法。在这种情况下,SO鼓励您将解决方案作为答案进行发布并接受,以便因遇到同样问题而终止在此页面的人员可以获得解决方案。 – vzwick 2012-09-18 00:00:34

回答

0

尝试把位置:相对其父。

0

功能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; 
    } 
    }