带日历的jQuery鼠标滚轮

带日历的jQuery鼠标滚轮,jquery,fullcalendar,mousewheel,Jquery,Fullcalendar,Mousewheel,我知道有几个关于鼠标滚轮和滚动的问题;我不确定它们是否适用于我的具体问题。如果他们这样做了,那么我很抱歉问这个问题 尽管如此,我还是将jQuery用于。更具体地说,我输入了一个小函数,在滚动鼠标时触发日历向前或向后跳转。它与典型的老式滚轮配合使用效果很好。然而,当使用苹果魔术鼠标时,它的滚动太多了!我目前使用的代码是: $('#my_calendar') .bind('mousewheel', function(event, delta) { var view = $('#mo

我知道有几个关于鼠标滚轮和滚动的问题;我不确定它们是否适用于我的具体问题。如果他们这样做了,那么我很抱歉问这个问题

尽管如此,我还是将jQuery用于。更具体地说,我输入了一个小函数,在滚动鼠标时触发日历向前或向后跳转。它与典型的老式滚轮配合使用效果很好。然而,当使用苹果魔术鼠标时,它的滚动太多了!我目前使用的代码是:

 $('#my_calendar')
    .bind('mousewheel', function(event, delta) {
    var view = $('#monthCalendar').fullCalendar('getView');

    if (view.name == "month") {
                if (delta > 0) { $(this).fullCalendar('prev'); }
                if (delta < 0) { $(this).fullCalendar('next'); }
                return false;
    }
 });
$(“#我的日历”)
.bind('mousewheel',函数(事件,增量){
var视图=$(“#monthCalendar”).fullCalendar('getView');
如果(view.name==“月”){
如果(delta>0){$(this).fullCalendar('prev');}
if(delta<0){$(this).fullCalendar('next');}
返回false;
}
});
我怎样才能解决这个问题,这样,如果用户使用的是魔术鼠标(或类似鼠标),它可能会限制向前或向后滚动的月份数


任何帮助都会很好!谢谢。

您尝试过“去盎司”功能吗?这与下划线框架略有不同:

function debounce(func, wait) {
    var timeout;
    return function() {
      var context = this, args = arguments;
      var later = function() {
        timeout = null;
        func.apply(context, args);
      };
      clearTimeout(timeout);
      timeout = setTimeout(later, wait);
    };
  };
生成的代码如下所示:

 function debounce(func, wait) {
      var timeout;
      return function () {
          var context = this, args = arguments;
          var later = function () {
              timeout = null;
              func.apply(context, args);
          };
          clearTimeout(timeout);
          timeout = setTimeout(later, wait);
      };
  };

  var scrolldb = debounce(handleScroll, 200);

  $('#my_calendar').bind('mousewheel', scrolldb);

  function handleScroll(event, delta) {
      var view = $('#monthCalendar').fullCalendar('getView');

      if (view.name == "month") {
          if (delta > 0) {
              $(this).fullCalendar('prev');
          }
          if (delta < 0) {
              $(this).fullCalendar('next');
          }
          return false;
      }
  }
函数去盎司(func,等待){
var超时;
返回函数(){
var context=this,args=arguments;
var later=函数(){
超时=空;
函数应用(上下文,参数);
};
clearTimeout(超时);
超时=设置超时(稍后,等待);
};
};
var scrolldb=去盎司(handleScroll,200);
$(“#我的日历”).bind('mouseweel',scrolldb);
函数handleScroll(事件,增量){
var视图=$(“#monthCalendar”).fullCalendar('getView');
如果(view.name==“月”){
如果(增量>0){
$(this.fullCalendar('prev');
}
if(δ<0){
$(this.fullCalendar('next');
}
返回false;
}
}

优化“wait”参数,直到它与魔术鼠标顺利配合。我用滚动垫和魔术鼠标测试了这个

哇,太棒了。我从未使用过“去盎司”功能。非常感谢!