cari

Rumah  >  Soal Jawab  >  teks badan

Div menangkap skrol tetikus

Saya kini mempunyai halaman dalam bentuk berikut

<div id="content">
    <div id="content-page-1">
    <!--content-->
    </div>
    <div id="content-page-2">
    <!--content-->
    </div>
</div>

Adakah cara untuk menatal

  1. Tampal/Jajarkan div (100% ketinggian dan 100% lebar kawasan paparan)
  2. Tatal secara automatik ke div seterusnya apabila tatal dikesan

Gunakan jquery?

P粉729436537P粉729436537390 hari yang lalu673

membalas semua(2)saya akan balas

  • P粉457445858

    P粉4574458582023-11-02 17:19:57

    Saya mencuba pemalam yang berbeza tetapi kesemuanya menghadapi masalah mencetuskan berbilang acara dalam mvc jadi saya menghasilkan penyelesaian ini menggunakan underscore.js

    <script  type="text/javascript">
        $(document).ready(function () {
                var isc = _.throttle(function (event) {
                    if ($(window).scrollTop() + $(window).height() > $(document).height() - 200) {
                        if (event.handled !== true) {
                            $.post('@path', function (html) {
                                $('#user-feed').append(html);
                            });
                        }
                    }
                }, 300);
    
                $(window).scroll(isc);
        });
    
    </script>

    balas
    0
  • P粉276064178

    P粉2760641782023-11-02 16:14:55

    Jika anda mendengar acara tatal pada nod, anda boleh menggunakan pemalam dengan mudah seperti tatalKe untuk menatal dengan lancar ke "div seterusnya" atau div sebelumnya (namun anda mentakrifkannya).

    var prevScrollTop = 0;
    var $scrollDiv    = $('div#content');
    var $currentDiv   = $scrollDiv.children('div:first-child');
    $scrollDiv.scroll(function(eventObj)
    {
        var curScrollTop = $scrollDiv.scrollTop();
        if (prevScrollTop < curScrollTop)
        {
        // Scrolling down:
            $currentDiv = $currentDiv.next().scrollTo();
        }
        else if (prevScrollTop > curScrollTop)
        {
        // Scrolling up:
            $currentDiv = $currentDiv.prev().scrollTo(); 
        }
        prevScrollTop = curScrollTop;
    });

    balas
    0
  • Batalbalas