Div 捕捉到滑鼠滾動
P粉729436537
P粉729436537 2023-11-01 18:57:05
0
2
677

我目前有一個以下形式的頁面

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

有什麼辦法可以滾動

  1. 貼上/對齊 div(顯示區域的 100% 高度和 100% 寬度)
  2. 偵測到捲動時自動捲動到下一個 div

用jquery?

P粉729436537
P粉729436537

全部回覆(2)
P粉457445858

我嘗試了不同的插件,但它們都在 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粉276064178

如果您偵聽節點上的捲動事件,您可以輕鬆使用 之類的插件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;
});
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板