我添加了 2 个 EventListener(s) 以控制滚动并使其在 Chrome 上流畅流畅(尤其是),默认情况下它具有可怕的行为。
if (window.addEventListener) window.addEventListener('DOMMouseScroll', wheel, false);
window.onmousewheel = document.onmousewheel = wheel;
var time = 1300;
var distance = 270;
function wheel(event) {
if (event.wheelDelta) delta = event.wheelDelta / 120;
else if (event.detail) delta = -event.detail / 3;
handle();
if (event.preventDefault) event.preventDefault();
event.returnValue = false;
}
function handle() {
$('html, body').stop().animate({
scrollTop: $(window).scrollTop() - (distance * delta)
}, time);
}
$(document).keydown(function (e) {
switch (e.which) {
//up
case 38:
$('html, body').stop().animate({
scrollTop: $(window).scrollTop() - distance
}, time);
break;
//down
case 40:
$('html, body').stop().animate({
scrollTop: $(window).scrollTop() + distance
}, time);
break;
}
});
除了我需要添加 Google Maps API v3 地图外,一切都运行良好。它还有另一个 EventListener,当鼠标悬停在地图上并且您使用鼠标滚轮时,它会放大和缩小。当鼠标悬停在地图上时,如何禁用我的脚本?这是我的页面的链接(你可以看到行为),现场直播:http ://www.rendezvousroma.it/new/contatti.php