>웹 프론트엔드 >JS 튜토리얼 >Jquery에 마우스 휠 기능 예제 code_jquery가 추가되었습니다.

Jquery에 마우스 휠 기능 예제 code_jquery가 추가되었습니다.

WBOY
WBOY원래의
2016-05-16 17:23:241256검색

复主代码 代码如下:

(함수($) {
    var 유형 = ['DOMMouseScroll', 'mousewheel'];
    $.event.special.mousewheel = {
        setup: function () {
            if (this.addEventListener) {
                for (var i = 유형 .length; i;) {
                   this.addEventListener(types[--i], handler, false);
              }
          } else {
               this.onmouse 휠 = 핸들러;
            }
        },
        분해: 함수 () {
            if (this.removeEventListener) {
               for (var i =types.length; i;) {
                   this.removeEventListener(유형[-- i], 핸들러, false);
               }
            } else {
               this.onmousewheel = null;
           }
        }
    };
    $.fn.extend({
        마우스휠: 기능(fn) {
            return fn ? this.bind("mousewheel", fn) : this.trigger("mousewheel");
       },
        unmousewheel: 기능(fn) {
            return this.unbind("mousewheel", fn);
        }
    });

    함수 핸들러(이벤트) {
        var orgEvent = 이벤트 || window.event, args = [].slice.call(인수, 1), delta = 0, returnValue = true, deltaX = 0, deltaY = 0;
        event = $.event.fix(orgEvent);
        event.type = "mousewheel";
        // 옛날 방식의 스크롤휠 델타
        if (event.originalEvent.wheelDelta) { delta = event.originalEvent.wheelDelta / 120; }
        if (event.originalEvent.detail) { delta = -event.originalEvent.detail / 3; }
        // 신학교 다차원 스크롤(터치패드) 델타
        deltaY = delta;
        // Gecko
        if (orgEvent.axis !== 정의되지 않음 && orgEvent.axis === orgEvent.HORIZONTAL_AXIS) {
            deltaY = 0;
            deltaX = -1 * delta;
        }
        // Webkit
        if (orgEvent.wheelDeltaY !== 정의되지 않음) { deltaY = orgEvent.wheel 델타Y/120; }
        if (orgEvent.wheelDeltaX !== 정의되지 않음) { deltaX = -1 * orgEvent.wheelDeltaX / 120; }
        // 인수 앞에 이벤트 및 델타 추가
        args.unshift(event, delta, deltaX, deltaY);
        return $.event.handle.apply(this, args);
    }
})(jQuery);

调용:
$(document).mousewheel(기능(e, 세부 정보) {

}

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.