我有一个单页网站,它使用内部锚点来产生多页的错觉。我编写了一个 javascript 函数,该函数从用户向上/向下读取鼠标滚轮,并基于此将用户发送到当前页面上方/下方的锚点。该功能如所述正常工作,但是鼠标滚轮非常敏感,以至于最轻微的移动将触发多个鼠标滚轮事件并向用户发送多个页面向上/向下而不是一个。
我需要一种方法来限制我的鼠标滚轮功能可以执行多少次,以便用户只在鼠标滚轮上的任一方向移动一页,而不管使用鼠标滚轮的快/慢。我的javascript在下面。
<script>
$(document).ready(function(){
$("#main").bind('mousewheel', function(event) {
if (event.originalEvent.wheelDelta >= 0) {
var currentPage = $(".active").attr('href');
switch(currentPage){
case "#publications":
window.location = $("#menu-item-290 a").attr('href');
break;
case "#branding":
window.location = $("#menu-item-106 a").attr('href');
break;
case "#website-development":
window.location = $("#menu-item-110 a").attr('href');
break;
case "#about-us":
window.location = $("#menu-item-109 a").attr('href');
break;
case "#contact":
window.location = $("#menu-item-108 a").attr('href');
break;
}
}
else {
var currentPage = $(".active").attr('href');
switch(currentPage){
case "#home":
window.location = $("#menu-item-106 a").attr('href');
break;
case "#publications":
window.location = $("#menu-item-110 a").attr('href');
break;
case "#branding":
window.location = $("#menu-item-109 a").attr('href');
break;
case "#website-development":
window.location = $("#menu-item-108 a").attr('href');
break;
case "#about-us":
window.location = $("#menu-item-107 a").attr('href');
break;
}
}
});
});
</script>