javascript を使用してすべての位置を増やすにはどうすればよいですか?ページ内のピクセル数を固定しますか?
例: いくつかの固定位置要素を持つ Web ページがあり、javascript を使用して上部にツールバーを挿入します。ツールバーが 40 ピクセルのスペースを占めるようになったので、すべての固定要素は 40 ピクセル離れて配置されます。
固定されたすべての位置を 40px 増やすツールバーを導入すると同時に起動できる JavaScript が必要です。
javascript を使用してすべての位置を増やすにはどうすればよいですか?ページ内のピクセル数を固定しますか?
例: いくつかの固定位置要素を持つ Web ページがあり、javascript を使用して上部にツールバーを挿入します。ツールバーが 40 ピクセルのスペースを占めるようになったので、すべての固定要素は 40 ピクセル離れて配置されます。
固定されたすべての位置を 40px 増やすツールバーを導入すると同時に起動できる JavaScript が必要です。
各固定要素に共通のクラスを与えて、それらすべてを対象にすることができます。
<div class="fixed">
some fixed element
</div>
js (jquery メソッド):
$('.fixed').each(function(){
$(this).css('top', $(this).css('top') + 40 + 'px');
});
jqueryを使用していない場合は、aurelの回答を参照してください
JS でスタイル属性を変更することにより、要素の上部または下部の CSS プロパティを設定できます。
次のようなことをしなければならないと思います:
var elems = document.all || document.getElementsByTagName("*");
// I know document.all isn't ideal, but it saves a function call if it's there ;)
var l = elems.length, i, stl;
window.getComputedStyle = window.getComputedStyle || function(e) {return e.currentStyle};
for( i=0; i<l; i++) {
stl = window.getComputedStyle(elems[i]);
if( stl.position === "fixed") {
elems[i].style.marginTop = ((parseInt(stl.marginTop,10) || 0) + 40) + "px";
}
}
の使用とmargin-top
は対照的に、top
のようなものを許可することですtop:50%
。もちろん、margin-top
パーセンテージも問題になる可能性がありますが、頻度は低くなります。