2010-11-22 538 views
1

我有一個絕對位置的div的HTML頁面。我正在嘗試編寫一些JavaScript,它會在生成一些數據之前動態移動div。我一直在玩.css jquery函數,但它似乎沒有工作。關於如何實現這一點的任何想法?Javascript - 動態改變絕對定位

我有下面的div定位在我的頁面上,下面的樣式。

<div id="MyControl"> 
    <%Html.RenderPartial("MyControl")%> 
</div> 

#MyControlControl { 
    position:absolute; 
    text-align:left; 
    left:100px; 
    top:900px; 
} 

在我的html的主要部分我建立一個動態表與數據庫中的記錄。每當添加新行時,我想調用某種Javascript來將div向下移動50 px。我試過兩個JavaScript(document.getElementByID給了我一個對象的預期錯誤)和jQuery .css函數。我無法去上班。

+1

如果你正在處理jQuery,添加一個jQuery標籤。如果您在使用代碼時遇到問題,請發佈代碼。 – 2010-11-22 18:46:43

回答

1

如果你知道的單位數往下移動,你可以用它實現:

var obj = document.getElementById('<div id>'); 
obj.style.height = '<new height><units>'; i.e. '15px'; 

編輯

我沒有看到你使用jQuery,直到我張貼後。

1

等等。假設你已經有規則

div.fixed{ 
position:absolute; 
top:10px; 
left:10px; 
} 

和一些JavaScript

一個div ...

$('.fixed').css('top','20px'); 

...

你動了類絕對DIV .fixed到從頁面頂部20像素..我們真的需要看到一些實際的代碼,以幫助你更好...

3

使用jQuery抓取位置並增加它。

var d = $('#mydiv'); 
// Move down by 50px 
d.css({top:d.position().top+50+'px'}); 
1

你不能只是增加50px的頂部屬性?

var myControl = document.getElementById("MyControl"); 
var oldTop = parseInt(myControl.style.top); 
myControl.top = oldTop +50;