小提琴如下:切換基於類的在垂直滾動
https://jsfiddle.net/y0mj6v2d/5/
只是奮力滿腦子都在最好的方法來計算何時添加+刪除基於垂直scoll位置的一類。
我期待添加一些側板(可能包含橫幅等)到我的網站,將出現:
-
頁眉和頁腳
- &向左和我的主要的權之間
- 容器
我的頁眉+頁腳的高度在整個網站都是不變的,所以我可以添加一個基於ScrollTop位置的類,但是我需要的是'Side Panels'不能超越頁腳的開始。在我的例子中,一旦滾動位置+窗口高度大於文檔高度,固定類就會被移除,但是我想要達到的是這些面板到達頁腳的開始(頂部)&開始向上滾動頁面作爲用戶向下滾動頁腳。即固定位置將切換到絕對定位+底部:0 ??
我現在已經有了問題是怎樣計算爲:
- 主面板的高度,將整個網站
- 加上旗幟的高度變化可以藏漢
$(function() {
var panels = $(".side-panels");
var pos = panels.offset().top;
$(window).scroll(function() {
var windowpos = $(window).scrollTop() ;
if(windowpos + $(window).height() >= $(document).height()){
panels.removeClass('fixed').addClass('absolute');
}else if(windowpos >= pos){
panels.addClass('fixed');
}else{
panels.removeClass('fixed');
}
});
});
此方法是實現這一目標的最佳方法還是有更好/更簡單的解決方案?
任何幫助,將不勝感激
乾杯
感謝安東尼奧。剛剛更新了我的小提琴:https://jsfiddle.net/Lgwpwb3g/,但它看起來像是在頁腳開始之前被刪除的類 – raym01
您認爲它應該如下計算:Windowpos> =頁眉高度+頁面內容高度 - 面板(橫幅高度)?? – raym01
看起來我的計算已關閉我只在第一個例子中嘗試過,所以我認爲它的工作原理我嘗試了一些東西,看看他們的工作。 –