スクロール時に要素を固定する必要があります(たとえば、ページをスクロールすると、要素が自動的に表示されるように自動的に調整されます)。私が取り組まなければならない問題は、高さ値をハードコーディングせずにこれをどうするかということです。これを行う方法はありますか?ここで値をハードコードしないで要素をスクロールするjQuery
は、そのためのコードです:
// fix the orange box to the top after scrolling a certain amount
$(window).scroll(function(e){
var scrollTop = $(window).scrollTop();
// enforce a max based on current content length
if ($(this).scrollTop() >= ($('.mainContent2ColLayout250').height() - 400))
scrollTop = ($('.mainContent2ColLayout250').height() - 400);
if ($(this).scrollTop() >= 340)
$('.fixedElement').css({'marginTop': scrollTop - 325, 'marginBottom': -1 * (scrollTop - 325)});
if ($(this).scrollTop() < 340)
$('.fixedElement').css({'marginTop': 0, 'marginBottom': 0});
});
任意の助けをいただければ幸いです。
ありがとうございます!
に
を適用しますか? – Mogzol
@ user2101411要素をどのように正確に表示したいかは明確ではありません。 'position:fixed'は、文書内で通常どおりに要素を表示させますが、固定要素は残りの要素のレイアウトには影響しません。また、ページと共にスクロールしません。 'position:absolute'を使用して左上隅などの特定の場所に設定するなど、他のオプションもありますが、あなたの質問の説明から実際に何を望んでいるのか分かりません。 – Zack
私は、位置を使用する非常にシンプルで簡単な方法を行う代わりに、このコードを使用することを余儀なくされています:jqueryクラスの追加/削除やスタイルの追加があります.. – user2101411