簡體   English   中英

滾動以解決向上滾動的問題

[英]Scroll to fix issue with scrolling up

我在固定大型文章時遇到了問題。 可以在以下位置找到該插件: https : //github.com/bigspotteddog/ScrollToFixed 情況是,我不需要在文章頂部固定一些文章編號。 當我向下滾動時,到達下一篇文章時數字必須向上滾動。 前進的道路非常順利,彼此之間沒有縫隙或數字。 但是,當我緩慢向上滾動時,滾動條中會出現一些縫隙,這是不正常的。 當我快速滾動時,數字彼此重疊。

我的劇本:

$(document).ready(function() {
// Dock each summary as it arrives just below the docked header, pushing the
// previous summary up the page.

    var articleblocknr = $('.gwn_betnr');
    articleblocknr.each(function(i) {
        var block = $(articleblocknr[i]);
        var next = articleblocknr[i + 1];

        block.scrollToFixed({
            //marginTop: $('.header').outerHeight(true) + 10,
            limit: function() {
                var limit = 0;
                if (next) {
                    limit = $(next).offset().top - $(this).outerHeight(true);
                } else {
                    limit = $('.footer').offset().top - $(this).outerHeight(true);
                }
                return limit;
            },
            zIndex: 999
        });
    });
});

我的頁面文章:

    <li id="gwn_betnr1" class="gwn_betnr">

        <span class="gwn_betnrf">1</span>

    </li>

    <li class="gwn_bet">

        <span class="gwn_def gwn_illus">Definition 1</span>

        <span class="gwn_bet_beh">

            <span class="gwn_regel">

                <span class="gwn_grijs">test1 </span>

                <span class="gwn_steun">test2</span>

            </span>

            <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec a diam lectus. Sed sit amet ipsum mauris. Maecenas congue ligula ac quam viverra nec consectetur ante hendrerit. Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean ut gravida lorem. Ut turpis felis, pulvinar a semper sed, adipiscing id dolor. Pellentesque auctor nisi id magna consequat sagittis. Curabitur dapibus enim sit amet elit pharetra tincidunt feugiat nisl imperdiet. Ut convallis libero in urna ultrices accumsan. Donec sed odio eros. Donec viverra mi quis quam pulvinar at malesuada arcu rhoncus. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. In rutrum accumsan ultricies. Mauris vitae nisi at sem facilisis semper ac in est.</p>

            <p>Vivamus fermentum semper porta. Nunc diam velit, adipiscing ut tristique vitae, sagittis vel odio. Maecenas convallis ullamcorper ultricies. Curabitur ornare, ligula semper consectetur sagittis, nisi diam iaculis velit, id fringilla sem nunc vel mi. Nam dictum, odio nec pretium volutpat, arcu ante placerat erat, non tristique elit urna et turpis. Quisque mi metus, ornare sit amet fermentum et, tincidunt et orci. Fusce eget orci a orci congue vestibulum. Ut dolor diam, elementum et vestibulum eu, porttitor vel elit. Curabitur venenatis pulvinar tellus gravida ornare. Sed et erat faucibus nunc euismod ultricies ut id justo. Nullam cursus suscipit nisi, et ultrices justo sodales nec. Fusce venenatis facilisis lectus ac semper. Aliquam at massa ipsum. Quisque bibendum </p>

        </span>

    </li>

    <li id="gwn_betnr2" class="gwn_betnr">

        <span class="gwn_betnrf">2</span>

    </li>

    <li class="gwn_bet">

        <span class="gwn_def gwn_illus">Definition 2</span>

        <span class="gwn_bet_beh">

            <span class="gwn_regel">

                <span class="gwn_grijs">test1 </span>

                <span class="gwn_steun">test2</span>

            </span>

            <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec a diam lectus. Sed sit amet ipsum mauris. Maecenas congue ligula ac quam viverra nec consectetur ante hendrerit. Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean ut gravida lorem. Ut turpis felis, pulvinar a semper sed, adipiscing id dolor. Pellentesque auctor nisi id magna consequat sagittis. Curabitur dapibus enim sit amet elit pharetra tincidunt feugiat nisl imperdiet. Ut convallis libero in urna ultrices accumsan. Donec sed odio eros. Donec viverra mi quis quam pulvinar at malesuada arcu rhoncus. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. In rutrum accumsan ultricies. Mauris vitae nisi at sem facilisis semper ac in est.</p>

            <p>Vivamus fermentum semper porta. Nunc diam velit, adipiscing ut tristique vitae, sagittis vel odio. Maecenas convallis ullamcorper ultricies. Curabitur ornare, ligula semper consectetur sagittis, nisi diam iaculis velit, id fringilla sem nunc vel mi. Nam dictum, odio nec pretium volutpat, arcu ante placerat erat, non tristique elit urna et turpis. Quisque mi metus, ornare sit amet fermentum et, tincidunt et orci. Fusce eget orci a orci congue vestibulum. Ut dolor diam, elementum et vestibulum eu, porttitor vel elit. Curabitur venenatis pulvinar tellus gravida ornare. Sed et erat faucibus nunc euismod ultricies ut id justo. Nullam cursus suscipit nisi, et ultrices justo sodales nec. Fusce venenatis facilisis lectus ac semper. Aliquam at massa ipsum. Quisque bibendum </p>

        </span>

    </li>

    <li id="gwn_betnr3" class="gwn_betnr">

        <span class="gwn_betnrf">3</span>

    </li>

    <li class="gwn_bet">

        <span class="gwn_def gwn_illus">Definition 3</span>

        <span class="gwn_bet_beh">

            <span class="gwn_regel">

                <span class="gwn_grijs">test1 </span>

                <span class="gwn_steun">test2 </span>

            </span>

            <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec a diam lectus. Sed sit amet ipsum mauris. Maecenas congue ligula ac quam viverra nec consectetur ante hendrerit. Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean ut gravida lorem. Ut turpis felis, pulvinar a semper sed, adipiscing id dolor. Pellentesque auctor nisi id magna consequat sagittis. Curabitur dapibus enim sit amet elit pharetra tincidunt feugiat nisl imperdiet. Ut convallis libero in urna ultrices accumsan. Donec sed odio eros. Donec viverra mi quis quam pulvinar at malesuada arcu rhoncus. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. In rutrum accumsan ultricies. Mauris vitae nisi at sem facilisis semper ac in est.</p>

            <p>Vivamus fermentum semper porta. Nunc diam velit, adipiscing ut tristique vitae, sagittis vel odio. Maecenas convallis ullamcorper ultricies. Curabitur ornare, ligula semper consectetur sagittis, nisi diam iaculis velit, id fringilla sem nunc vel mi. Nam dictum, odio nec pretium volutpat, arcu ante placerat erat, non tristique elit urna et turpis. Quisque mi metus, ornare sit amet fermentum et, tincidunt et orci. Fusce eget orci a orci congue vestibulum. Ut dolor diam, elementum et vestibulum eu, porttitor vel elit. Curabitur venenatis pulvinar tellus gravida ornare. Sed et erat faucibus nunc euismod ultricies ut id justo. Nullam cursus suscipit nisi, et ultrices justo sodales nec. Fusce venenatis facilisis lectus ac semper. Aliquam at massa ipsum. Quisque bibendum </p>

        </span>

    </li>

    <li id="gwn_betnr4" class="gwn_betnr">

        <span class="gwn_betnrf">4</span>

    </li>

    <li class="gwn_bet">

        <span class="gwn_def gwn_illus">Definition 4</span>

        <span class="gwn_bet_beh">

            <span class="gwn_regel">

                <span class="gwn_grijs">test1 </span>

                <span class="gwn_steun">test2 </span>

            </span>

            <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec a diam lectus. Sed sit amet ipsum mauris. Maecenas congue ligula ac quam viverra nec consectetur ante hendrerit. Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean ut gravida lorem. Ut turpis felis, pulvinar a semper sed, adipiscing id dolor. Pellentesque auctor nisi id magna consequat sagittis. Curabitur dapibus enim sit amet elit pharetra tincidunt feugiat nisl imperdiet. Ut convallis libero in urna ultrices accumsan. Donec sed odio eros. Donec viverra mi quis quam pulvinar at malesuada arcu rhoncus. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. In rutrum accumsan ultricies. Mauris vitae nisi at sem facilisis semper ac in est.</p>

            <p>Vivamus fermentum semper porta. Nunc diam velit, adipiscing ut tristique vitae, sagittis vel odio. Maecenas convallis ullamcorper ultricies. Curabitur ornare, ligula semper consectetur sagittis, nisi diam iaculis velit, id fringilla sem nunc vel mi. Nam dictum, odio nec pretium volutpat, arcu ante placerat erat, non tristique elit urna et turpis. Quisque mi metus, ornare sit amet fermentum et, tincidunt et orci. Fusce eget orci a orci congue vestibulum. Ut dolor diam, elementum et vestibulum eu, porttitor vel elit. Curabitur venenatis pulvinar tellus gravida ornare. Sed et erat faucibus nunc euismod ultricies ut id justo. Nullam cursus suscipit nisi, et ultrices justo sodales nec. Fusce venenatis facilisis lectus ac semper. Aliquam at massa ipsum. Quisque bibendum </p>

        </span>

    </li>
<div class="footer">
            ...
</div>

我的CSS:

body, html { margin:0; padding:0; color:#2a2a2a; background:#fff; } .footer { display: block; background:#f2f2f2; clear: both; } .gwn_romp { list-style: none; padding: 0px; margin: 0px; } .gwn_betnr { float:left; width:1.250em; height: 2.300em; text-align: center; font-weight: bold; border-top: 1px solid black; /*padding-top: 0.450em;*/ /* 28px - 19px (l2b) = 9px */ overflow: hidden; } .gwn_bet { float: left; margin-left: 1.400em; } .gwn_def { display: block; color: #000; } .gwn_bet_beh { display: block; } .gwn_regel { display: block; /* clear: both; */ }

有人可以幫我解決這個問題嗎? 我也做了一個小提琴,向下滾動效果很好,向上滾動是在開關上,數字不平滑。 https://jsfiddle.net/45ab7pka/4/

我了解到您向上滾動時遇到問題,因此在其他情況下我對代碼進行了一些更改,我對小提琴代碼進行了更改,可能會對您有所幫助,請參見下面的鏈接。

fiddle code here                       
 https://jsfiddle.net/45ab7pka/4/
$(document).ready(function() { console.log('test');
    // Dock each summary as it arrives just below the docked header, pushing the
    // previous summary up the page.

    var articleblocknr = $('.gwn_betnr');
    articleblocknr.each(function(i) {
        var block = $(articleblocknr[i]);
        var next = articleblocknr[i + 1];

        block.scrollToFixed({
            //marginTop: $('.header').outerHeight(true) + 10,
            limit: function() {
                var limit = 0;
                if (next) {
                    5 = $(next).offset().top - $(this).outerHeight(true);
                } else {
                    limit = $('.footer').offset().top - $(this).outerHeight(true);
                }
                return limit;
            },
            zIndex: 999
        });
    });
});

暫無
暫無

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

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