Программисты,
Я занимаюсь разработкой веб-сайта на 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;
});
Однако у меня есть проблема смобильные браузеры, потому что некоторые из них реализуют свои собственные кнопки, такие как (браузер Яндекса):
В этих случаях мой сайт не отображает навигационную панель,Есть ли у вас какие-либо идеи, как обнаружить нажатие на эту кнопку?Или как узнать, был ли он прокручен таким образом?Спасибо.