如何在JS的移动浏览器中检测出返回页首的底部?

时间:2019-03-03 10:24:45

标签: javascript jquery scroll mobile-browser

资深程序员

我已经用JS开发了一个网站,并且可以使用以下代码检测该人何时正常滚动:

var lastScrollTop = 0;
var $navbar = $('.navbar');
var navbarHeight = $navbar.outerHeight();
var movement = 0;
var lastDirection = 0;

$(window).scroll(function(event) {
        var st = $(this).scrollTop();
        movement += st - lastScrollTop;

        if (st > lastScrollTop) { // scroll down
            if (lastDirection != 1) {
                movement = 0;
            }
            var margin = Math.abs(movement);
            if (margin > navbarHeight) {
                margin = navbarHeight;
            }
            margin = -margin;
            $navbar.css('margin-top', margin + "px")

            lastDirection = 1;
        } else { // scroll up
            if (lastDirection != -1) {
                movement = 0;
            }
            var margin = Math.abs(movement);
            if (margin > navbarHeight) {
                margin = navbarHeight;
            }
            margin = margin - navbarHeight;
            $navbar.css('margin-top', margin + "px")

            lastDirection = -1;
        }

        lastScrollTop = st;
});

但是,我对移动浏览器存在挑战,因为其中一些实现了自己的按钮(Yandex浏览器):

img1

在这些情况下,我的网站没有显示导航栏。您是否知道如何检测该按钮的单击?或如何知道它是否以这种方式向后滚动?谢谢。

0 个答案:

没有答案