私は自分のナビゲーションの高さを得て、マージントップに適用しようとしています。私のナビゲーションは固定されているので、私のバナーはその下に隠されていないので、それを補うようにしています。要素の高さを取得してCSSを使用してその値を適用する方法
// Offset Banner to Height of Navigation
function bannerOffset() {
var bannerTop = $('.x-navbar').height();
$('#banner-carousel').css('margin-top', bannerTop);
}
これは私が思っていたが、フロントエンドには何も反映されていなかった。
UPDATE
$(document).ready(function() {
var bannerTop = $('.x-navbar').outerHeight();
$('.x-main').css('margin-top', bannerTop);
$(window).scroll(function() {
var bannerTopScroll = $('.x-navbar.scroll').outerHeight();
if ($(document).scrollTop() > 1) {
$('.x-main').css('margin-top', bannerTopScroll);
}
});
});
だから、私はこれを持っていたと思ったが、負荷に、.x-main
のマージントップは245px
です。スクロールすると85px
になります。私は数字がそれにまで下がるのが分かります。問題は、先頭に戻ってスクロールして値が245px
に戻らない場合です。あまり一貫しているわけではありませんが、しばしば144px
になります。私はそれを追加する必要があり、これはおそらく、私はが追加されたときに私の.x-navbar
の高さを変更する別の機能を持っています。
$(window).scroll(function() {
if ($(document).scrollTop() > 1) {
$('.x-navbar').addClass('scroll');
} else {
$('.x-navbar').removeClass('scroll');
}
});
このようにすべてをスムーズにして正しく動作させる方法がわかりません。ページをリロードすると.x-main
は245px
に戻ります。上にスクロールすると、正しく計算されません。
私はouterHeight試みたが、それはどちらも動作しませんでした。私のセレクタも正しいです。 「px」ソリューションとは何ですか?私はリフレッシュして答えを失った。 –
@DarrenBachanあなたの問題の実際の例をお伝えいただければ、私たちは推測だけではなく助けてくれるでしょう。 "px"ソリューションは '$ .height()'が整数値を返すと言っていたので、 '$ .css()'行で 'bannerTop'を' bannerTop + 'px''に変更してCSSユニットだけではなく数もありますが、jQueryが自動的にここで私のためにやっているようです。あなたはそれを試してみるかもしれません。 –
ええ私はそれをキャッチしませんでしたが、マイクは彼が投稿したときにマイクが正しいと思っていました - それは多くのコードthoを見るのに役立ちます – garek007