2012-06-14 42 views
1

我想設置我的gridview(asp.net)的位置絕對當gridview延伸比標準960像素更進一步。在javascript中設置絕對位置不工作

但是我遇到了left: 0有我想要的效果,但是除此之外什麼都不做。

這是我的代碼。小於屏幕的部分不起作用,因爲我試圖將其居中放置在屏幕上。然而,因爲它大於0,所以Left: x的絕對位置不起作用。任何幫助,將不勝感激!

var gridview = document.getElementsByTagName("table"); 
      var fieldset = document.getElementsByTagName("fieldset"); 
      fieldset[0].style.position = "relative"; 
      for (var i = 0; i < gridview.length; i++) { 
       var width = gridview[i].offsetWidth; 
       var screenWidth = window.screen.width - 2; 

       if (width > 940) { 
        gridview[i].style.position = "absolute"; 
        if (width > screenWidth) { 
         gridview[i].style.left = 0; 
         alert('> screen'); 
        } 
        else { 
         gridview[i].style.left = 50; 
         alert('< screen'); 
        } 
       } 
      } 

編輯:倫敦定值後Concat的「PX」

+0

我建議創建一個演示問題的簡單示例。我不確定在你的例子中是否有足夠的空間,但是http://jsfiddle.net可能會有所幫助。 – Fenton

+2

您必須在您設置的值後連接單位(可能是'px')。 – bfavaretto

+0

謝謝!那是因爲我必須在px之後連結px,這是一個愚蠢的錯誤。謝謝 –

回答

0

不是真的去夠去,但它可能的情況是GridView控件的容器一直沒有它的位置集你的CSS。

要使用postion:absolute上述容器應該設置爲position:relative或者它只是不會呈現CSS。

另請嘗試將px添加到大小的末尾,將css設置爲left:XXpx;而不僅僅是一個數字。