0
我目前正在研究一個網站項目,並嘗試通過jQuery實現平滑滾動功能。jQuery平滑滾動偏移量只在壓縮捲上?
這裏是我的(工作!)到目前爲止的代碼:
$(document).ready(function(){
$('a[href*="#"]:not([href="#"])').click(function() {
var displace = 72; /* Vertical offset for scroll */
var target = $(this.hash);
$('html, body').animate({
scrollTop: target.offset().top - displace}, 1000);
return false;
});
});
因爲網站也有其轉換出向上滾動時,向下進入視滾動時視口的頭,我需要以某種方式通過將滾動目標偏移一定量來適應其可見性,因此變量爲displace
。
截至目前,無論滾動方向如何,從target.offset().top
減去displace
變量。我將如何修改上面的代碼,以便在向上滾動時僅減去它?
我想到的線沿線的中添加if else
聲明那裏,東西:
var scrollPos = $(window).scrollTop();
if (target.offset().top > scrollPos) { /* On downscroll */
scroll to target
} else { /* On upscroll */
scroll to target - displace
}
任何建議,得到這個工作?
非常感謝!
添
添加您的其餘代碼。 – frnt
@frnt屬於平滑滾動功能,這是完整的代碼(從另一個stackoverflow線程複製)。該網站我的工作是一個頁/視差滾動種和功能允許不同的錨之間平滑滾動像 – wandervogel
您需要添加你已經嘗試了什麼。 – frnt