71

我正在创建自定义 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>'
4

5 回答 5

145

您可以使用 CSS 来解决问题:

$("#yourElement").css({ top: '100px' });
于 2012-05-15T09:28:03.793 回答
68

使用.css()访问 CSS 属性和操作非常容易。例如,要更改单个属性:

$("selector").css('top', '50px');
于 2012-05-15T09:29:21.890 回答
14

你也可以做

   var x = $('#element').height();   // or any changing value

   $('selector').css({'top' : x + 'px'});

或者

你可以直接使用

$('#element').css( "height" )

.css( "height" )和之间的区别在于.height()后者返回一个无单位的像素值(例如,400),而前者返回一个具有完整单位的值(例如,400px)。当需要在数学计算中使用元素的高度时,建议使用 .height() 方法。jQuery文档

于 2014-12-11T16:34:04.380 回答
7

仅供参考,如果您使用的是:

 $(el).offset().top 

要获取位置,可能会受到父元素位置的影响。因此,您可能希望保持一致并使用以下内容进行设置:

$(el).offset({top: pos});

与上面的 CSS 方法相反。

于 2017-12-14T05:14:05.620 回答
3

并使用原型

$('yourDivId').setStyle({top: '100px', left:'80px'});
于 2013-11-29T21:23:18.337 回答