簡體   English   中英

滾動時固定側欄的計算

[英]Calculation for sidebar fixed when scrolling

我使用position絕對有一個側邊欄粘貼到父div的可見頂部。 例如。 父DIV位於整個屏幕的X:20%和Y:20%。 Inside Parent Div我有一個側邊欄DIV,其絕對值設置為Top:0和Right:0。

當父div滾動時,我增加margin-top,以便始終保持在可視區域的頂部。 我一直在努力計算這個,似乎無法得到pageOffset,scollTop等之間的區別。我已經通過w3schools,它仍然沒有意義。

這是我到目前為止的計算但由於某些原因在IE中側邊欄跳躍。 任何幫助將不勝感激。 提前致謝

var s = $(".sidebar");
var pos = s.position();
$(window).scroll(function () {
    var windowpos = $(window).scrollTop();
    (windowpos >= 270) ? s.css("marginTop", Math.floor($(window).scrollTop() - 270) + "px") : s.css("marginTop", 0);
});

如果我理解正確,這應該是一個很好的例子:

var s = $(".sidebar");
var pos = s.offset().top;

    $(window).scroll(function () {
        if ($(window).scrollTop() >= pos) {
            s.addClass('new-styles');
        } else {
            s.removeClass('new-styles');
        }
    });

風格:

.sidebar {
    position: absolute; // or relative
    top: 100px;
}
.new-styles {
    position: fixed;
    top: 0;
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM