How do I get a fixed position div to scroll horizontally with the content? Using jQuery

后端 未结 3 671
暗喜
暗喜 2020-11-27 06:04

I have a div.scroll_fixed with the following CSS

.scroll_fixed {
    position:absolute
    top:210px

}
.scroll_fixed.fixed {
    position:fixed;
    top:0;
         


        
相关标签:
3条回答
  • 2020-11-27 06:17

    The demo is keeping the element's position:fixed and manipulating the left property of the element:

    var leftInit = $(".scroll_fixed").offset().left;
    var top = $('.scroll_fixed').offset().top - parseFloat($('.scroll_fixed').css('margin-top').replace(/auto/, 0));
    
    
    $(window).scroll(function(event) {
        var x = 0 - $(this).scrollLeft();
        var y = $(this).scrollTop();
    
        // whether that's below the form
        if (y >= top) {
            // if so, ad the fixed class
            $('.scroll_fixed').addClass('fixed');
        } else {
            // otherwise remove it
            $('.scroll_fixed').removeClass('fixed');
        }
    
        $(".scroll_fixed").offset({
            left: x + leftInit
        });
    
    });
    

    Using leftInit takes a possible left margin into account. Try it out here: http://jsfiddle.net/F7Bme/

    0 讨论(0)
  • 2020-11-27 06:23

    You have probably moved on by now, but here is an answer for anyone else looking for a horizontally scrollable fixed element solution. This jquery plugin was created to solve this exact problem.

    This demo uses a shopping cart summary that will still scroll horizontally when fixed to the top of the page; and, I have also used it for a header above tabular data:

    Demo: http://jsfiddle.net/y3qV5/434/ (updated)

    Plugin and source: https://github.com/bigspotteddog/ScrollToFixed

    Usage:

    $(document).ready(function() {
        $('#cart').scrollToFixed( { marginTop: 10 } );
    });
    
    0 讨论(0)
  • 2020-11-27 06:29

    use css property position:sticky to get it.

    Here is the article explained and live demo.

    http://updates.html5rocks.com/2012/08/Stick-your-landings-position-sticky-lands-in-WebKit

    the only drawback is browser compatibility.

    0 讨论(0)
提交回复
热议问题