我目前有一個以下形式的頁面
<div id="content"> <div id="content-page-1"> <!--content--> </div> <div id="content-page-2"> <!--content--> </div> </div>
有什麼辦法可以滾動
用jquery?
P粉4574458582023-11-02 17:19:57
我嘗試了不同的插件,但它們都在 mvc 中觸發多個事件時遇到問題,所以我使用 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>
P粉2760641782023-11-02 16:14:55
如果您偵聽節點上的捲動事件,您可以輕鬆使用 之類的插件scrollTo 平滑捲動到「下一個 div」或上一個 div(無論您如何定義)。
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; });