2010-11-22 2 views
1

У меня есть страница HTML, в которой есть div, который является позицией абсолютно. Я пытаюсь написать 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 пикселей. Я пробовал как 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

...

$('.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; 
Смежные вопросы