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 に答える