我添加了2個EventListener(s)以控制滾動並使其在Chrome(特別是)上流暢且平滑,默認情況下它具有可怕的行爲。當鼠標懸停Google地圖時禁用鼠標EventListener
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
將'scrollwheel'屬性的地圖設置爲'false' –
但我想使用它。在懸停地圖時不能禁用「我的」腳本嗎? – MultiformeIngegno
對不起,我誤解了這個問題 –