Ответ 1
Вы можете использовать CSS для выполнения трюка:
$("#yourElement").css({ top: '100px' });
Я создаю пользовательский div-скроллер и хочу установить верхнюю позицию содержимого div. Мой код jquery выглядит следующим образом:
containerOuterHeight=$("#messagePopUpContainer").outerHeight();
contentOuterHeight=$("#content").outerHeight();
contentTopPosition=$("#content").offset().top;
alert("contentTopPosition"+contentTopPosition);
alert(contentTopPosition-(containerOuterHeight/20));
$("#content").offset().top=contentTopPosition-(containerOuterHeight/20);
//$("#content").css("top",( contentTopPosition-(containerOuterHeight/20) ) + "px");
alert("contentTopPosition"+$("#content").offset().top);
//alert("Fontsize"+$('#content').css('font-size') );
и html:
<div id='messagePopUpContainer' style='background-color:#ffffff; overflow: hidden;'>
<a href='javascript:void(0);' id='popupanchor' onkeydown='PopupKeyHandler("' + elmId + '");'></a>
<div id='content' style='width:350px'>' + methods.settings[elmId].text + '</div >
<div id='popupReturn'>Return</div></div></div>'
Вы можете использовать CSS для выполнения трюка:
$("#yourElement").css({ top: '100px' });
Доступ к свойствам CSS и управлению ими довольно легко с помощью . css(). Например, чтобы изменить одно свойство:
$("selector").css('top', '50px');
Вы также можете сделать
var x = $('#element').height(); // or any changing value
$('selector').css({'top' : x + 'px'});
И с Прототипом:
$('yourDivId').setStyle({top: '100px', left:'80px'});
Просто для справки, если вы используете:
$(el).offset().top
Чтобы получить позицию, на нее может повлиять позиция родительского элемента. Таким образом, вы можете захотеть быть последовательным и использовать для его установки следующее:
$(el).offset({top: pos});
В отличие от вышеприведенных методов CSS.