zl程序教程

您现在的位置是:首页 >  前端

当前栏目

Jquery增加鼠标中间功能mousewheel的实例代码

jQuery实例代码 功能 增加 鼠标 中间
2023-06-13 09:15:05 时间

复制代码代码如下:


(function($){
   vartypes=["DOMMouseScroll","mousewheel"];
   $.event.special.mousewheel={
       setup:function(){
           if(this.addEventListener){
               for(vari=types.length;i;){
                   this.addEventListener(types[--i],handler,false);
               }
           }else{
               this.onmousewheel=handler;
           }
       },
       teardown:function(){
           if(this.removeEventListener){
               for(vari=types.length;i;){
                   this.removeEventListener(types[--i],handler,false);
               }
           }else{
               this.onmousewheel=null;
           }
       }
   };
   $.fn.extend({
       mousewheel:function(fn){
           returnfn?this.bind("mousewheel",fn):this.trigger("mousewheel");
       },
       unmousewheel:function(fn){
           returnthis.unbind("mousewheel",fn);
       }
   });

   functionhandler(event){
       varorgEvent=event||window.event,args=[].slice.call(arguments,1),delta=0,returnValue=true,deltaX=0,deltaY=0;
       event=$.event.fix(orgEvent);
       event.type="mousewheel";
       //Oldschoolscrollwheeldelta
       if(event.originalEvent.wheelDelta){delta=event.originalEvent.wheelDelta/120;}
       if(event.originalEvent.detail){delta=-event.originalEvent.detail/3;}
       //Newschoolmultidimensionalscroll(touchpads)deltas
       deltaY=delta;
       //Gecko
       if(orgEvent.axis!==undefined&&orgEvent.axis===orgEvent.HORIZONTAL_AXIS){
           deltaY=0;
           deltaX=-1*delta;
       }
       //Webkit
       if(orgEvent.wheelDeltaY!==undefined){deltaY=orgEvent.wheelDeltaY/120;}
       if(orgEvent.wheelDeltaX!==undefined){deltaX=-1*orgEvent.wheelDeltaX/120;}
       //Addeventanddeltatothefrontofthearguments
       args.unshift(event,delta,deltaX,deltaY);
       return$.event.handle.apply(this,args);
   }
})(jQuery);

调用:
$(document).mousewheel(function(e,detail){

}