首頁 >web前端 >css教學 >如何使用 jQuery 使固定位置 Div 與內容一起水平滾動?

如何使用 jQuery 使固定位置 Div 與內容一起水平滾動?

Mary-Kate Olsen
Mary-Kate Olsen原創
2024-10-29 09:30:30523瀏覽

How to Make a Fixed Position Div Scroll Horizontally with Content Using jQuery?

使用jQuery 的固定位置Div 的水平滾動

在本文中,我們將解決固定位置內水平內容滾動的問題使用jQuery定位div。

使用者有一個類別為 scroll_fixed 的 div,並希望在它到達頁面頂部時修復它。以下CSS樣式div:

.scroll_fixed {
    position:absolute
    top:210px
}
.scroll_fixed.fixed {
    position:fixed;
    top:0;
}

jQuery程式碼用於在div到達頂部時添加固定類別:

$(window).scroll(function (event) {
    // Check if the scroll position is greater than the top offset of the div
    if ($(this).scrollTop() >= top) {
        $('.scroll_fixed').addClass('fixed');
    } else {
        $('.scroll_fixed').removeClass('fixed');
    }
});

這對於垂直滾動效果很好,但會導致當瀏覽器視窗較小時,與div 右側的內容發生衝突。用戶希望div隨內容水平滾動。

/解決方案:

要使div水平滾動,我們需要保持其position:fixed並進行操作左側屬性而不是頂部屬性。以下更新的 jQuery 程式碼可實現此目的:

var leftInit = $(".scroll_fixed").offset().left;

$(window).scroll(function (event) {
    // Get the current scroll positions
    var x = 0 - $(this).scrollLeft();
    var y = $(this).scrollTop();

    // Fix the div when it reaches the top
    if (y >= top) {
        $('.scroll_fixed').addClass('fixed');
    } else {
        $('.scroll_fixed').removeClass('fixed');
    }

    // Adjust the left offset of the div based on the scroll position
    $(".scroll_fixed").offset({
        left: x + leftInit
    });
});

透過使用 leftInit,我們可以考慮 div 上的任何左邊距。嘗試此解決方案:http://jsfiddle.net/F7Bme/

以上是如何使用 jQuery 使固定位置 Div 與內容一起水平滾動?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn