diff --git a/bower.json b/bower.json index 903f6cf..2ee29af 100644 --- a/bower.json +++ b/bower.json @@ -1,6 +1,6 @@ { "name": "perfect-scrollbar", - "version": "0.5.4", + "version": "0.5.5", "homepage": "http://noraesae.github.io/perfect-scrollbar/", "authors": [ "Hyunje Alex Jun " diff --git a/min/perfect-scrollbar.min.css b/min/perfect-scrollbar.min.css index a5f9e92..f221906 100644 --- a/min/perfect-scrollbar.min.css +++ b/min/perfect-scrollbar.min.css @@ -1,4 +1,4 @@ -/*! perfect-scrollbar - v0.5.4 +/*! perfect-scrollbar - v0.5.5 * http://noraesae.github.com/perfect-scrollbar/ * Copyright (c) 2014 Hyunje Alex Jun; Licensed MIT */ diff --git a/min/perfect-scrollbar.min.js b/min/perfect-scrollbar.min.js index 96f228b..27a033b 100644 --- a/min/perfect-scrollbar.min.js +++ b/min/perfect-scrollbar.min.js @@ -1,4 +1,4 @@ -/*! perfect-scrollbar - v0.5.4 +/*! perfect-scrollbar - v0.5.5 * http://noraesae.github.com/perfect-scrollbar/ * Copyright (c) 2014 Hyunje Alex Jun; Licensed MIT */ -(function(e){"use strict";"function"==typeof define&&define.amd?define(["jquery"],e):"object"==typeof exports?e(require("jquery")):e(jQuery)})(function(e){"use strict";function o(e){return"string"==typeof e?parseInt(e,10):~~e}var t={wheelSpeed:1,wheelPropagation:!1,minScrollbarLength:null,maxScrollbarLength:null,useBothWheelAxes:!1,useKeyboard:!0,suppressScrollX:!1,suppressScrollY:!1,scrollXMarginOffset:0,scrollYMarginOffset:0,includePadding:!1},n=function(){var e=0;return function(){var o=e;return e+=1,".perfect-scrollbar-"+o}}();e.fn.perfectScrollbar=function(r,l){return this.each(function(){function i(e,t){var n=e+t,r=P-k;C=0>n?0:n>r?r:n;var l=o(C*(x-P)/(P-k));y.scrollTop(l)}function a(e,t){var n=e+t,r=S-E;X=0>n?0:n>r?r:n;var l=o(X*(D-S)/(S-E));y.scrollLeft(l)}function s(e){return L.minScrollbarLength&&(e=Math.max(e,L.minScrollbarLength)),L.maxScrollbarLength&&(e=Math.min(e,L.maxScrollbarLength)),e}function c(){var e={width:S,display:M?"inherit":"none"};e.left=W?y.scrollLeft()+S-D:y.scrollLeft(),B?e.bottom=q-y.scrollTop():e.top=R+y.scrollTop(),K.css(e);var o={top:y.scrollTop(),height:P,display:Y?"inherit":"none"};z?o.right=W?D-y.scrollLeft()-Q-U.outerWidth():Q-y.scrollLeft():o.left=W?y.scrollLeft()+2*S-D-F-U.outerWidth():F+y.scrollLeft(),H.css(o),O.css({left:X,width:E-A}),U.css({top:C,height:k-G})}function d(){K.hide(),H.hide(),S=L.includePadding?y.innerWidth():y.width(),P=L.includePadding?y.innerHeight():y.height(),D=y.prop("scrollWidth"),x=y.prop("scrollHeight"),!L.suppressScrollX&&D>S+L.scrollXMarginOffset?(M=!0,E=s(o(S*S/D)),X=o(y.scrollLeft()*(S-E)/(D-S))):(M=!1,E=0,X=0,y.scrollLeft(0)),!L.suppressScrollY&&x>P+L.scrollYMarginOffset?(Y=!0,k=s(o(P*P/x)),C=o(y.scrollTop()*(P-k)/(x-P))):(Y=!1,k=0,C=0,y.scrollTop(0)),X>=S-E&&(X=S-E),C>=P-k&&(C=P-k),c(),M?y.addClass("ps-active-x"):y.removeClass("ps-active-x"),Y?y.addClass("ps-active-y"):y.removeClass("ps-active-y"),L.suppressScrollX||K.show(),L.suppressScrollY||H.show()}function p(){var o,t;O.bind("mousedown"+j,function(e){t=e.pageX,o=O.position().left,K.addClass("in-scrolling"),e.stopPropagation(),e.preventDefault()}),e(I).bind("mousemove"+j,function(e){K.hasClass("in-scrolling")&&(a(o,e.pageX-t),d(),e.stopPropagation(),e.preventDefault())}),e(I).bind("mouseup"+j,function(){K.hasClass("in-scrolling")&&K.removeClass("in-scrolling")}),o=t=null}function u(){var o,t;U.bind("mousedown"+j,function(e){t=e.pageY,o=U.position().top,H.addClass("in-scrolling"),e.stopPropagation(),e.preventDefault()}),e(I).bind("mousemove"+j,function(e){H.hasClass("in-scrolling")&&(i(o,e.pageY-t),d(),e.stopPropagation(),e.preventDefault())}),e(I).bind("mouseup"+j,function(){H.hasClass("in-scrolling")&&H.removeClass("in-scrolling")}),o=t=null}function f(e,o){var t=y.scrollTop();if(0===e){if(!Y)return!1;if(0===t&&o>0||t>=x-P&&0>o)return!L.wheelPropagation}var n=y.scrollLeft();if(0===o){if(!M)return!1;if(0===n&&0>e||n>=D-S&&e>0)return!L.wheelPropagation}return!0}function v(){function e(e){var o=e.originalEvent.deltaX,t=-1*e.originalEvent.deltaY;return(o===void 0||t===void 0)&&(o=-1*e.originalEvent.wheelDeltaX/6,t=e.originalEvent.wheelDeltaY/6),e.originalEvent.deltaMode&&1===e.originalEvent.deltaMode&&(o*=10,t*=10),o!==o&&t!==t&&(o=0,t=e.originalEvent.wheelDelta),[o,t]}function o(o){var n=e(o),r=n[0],l=n[1];t=!1,L.useBothWheelAxes?Y&&!M?(l?y.scrollTop(y.scrollTop()-l*L.wheelSpeed):y.scrollTop(y.scrollTop()+r*L.wheelSpeed),t=!0):M&&!Y&&(r?y.scrollLeft(y.scrollLeft()+r*L.wheelSpeed):y.scrollLeft(y.scrollLeft()-l*L.wheelSpeed),t=!0):(y.scrollTop(y.scrollTop()-l*L.wheelSpeed),y.scrollLeft(y.scrollLeft()+r*L.wheelSpeed)),d(),t=t||f(r,l),t&&(o.stopPropagation(),o.preventDefault())}var t=!1;window.onwheel!==void 0?y.bind("wheel"+j,o):window.onmousewheel!==void 0&&y.bind("mousewheel"+j,o)}function h(){var o=!1;y.bind("mouseenter"+j,function(){o=!0}),y.bind("mouseleave"+j,function(){o=!1});var t=!1;e(I).bind("keydown"+j,function(n){if((!n.isDefaultPrevented||!n.isDefaultPrevented())&&o){for(var r=document.activeElement?document.activeElement:I.activeElement;r.shadowRoot;)r=r.shadowRoot.activeElement;if(!e(r).is(":input,[contenteditable]")){var l=0,i=0;switch(n.which){case 37:l=-30;break;case 38:i=30;break;case 39:l=30;break;case 40:i=-30;break;case 33:i=90;break;case 32:case 34:i=-90;break;case 35:i=n.ctrlKey?-x:-P;break;case 36:i=n.ctrlKey?y.scrollTop():P;break;default:return}y.scrollTop(y.scrollTop()-i),y.scrollLeft(y.scrollLeft()+l),t=f(l,i),t&&n.preventDefault()}}})}function b(){function e(e){e.stopPropagation()}U.bind("click"+j,e),H.bind("click"+j,function(e){var t=o(k/2),n=e.pageY-H.offset().top-t,r=P-k,l=n/r;0>l?l=0:l>1&&(l=1),y.scrollTop((x-P)*l)}),O.bind("click"+j,e),K.bind("click"+j,function(e){var t=o(E/2),n=e.pageX-K.offset().left-t,r=S-E,l=n/r;0>l?l=0:l>1&&(l=1),y.scrollLeft((D-S)*l)})}function g(o,t){function n(e,o){y.scrollTop(y.scrollTop()-o),y.scrollLeft(y.scrollLeft()-e),d()}function r(){h=!0}function l(){h=!1}function i(e){return e.originalEvent.targetTouches?e.originalEvent.targetTouches[0]:e.originalEvent}function a(e){var o=i(e);p.pageX=o.pageX,p.pageY=o.pageY,u=(new Date).getTime(),null!==v&&clearInterval(v),e.stopPropagation(),e.preventDefault()}function s(e){if(!h&&1===e.originalEvent.targetTouches.length){var o=i(e),t={pageX:o.pageX,pageY:o.pageY},r=t.pageX-p.pageX,l=t.pageY-p.pageY;n(r,l),p=t;var a=(new Date).getTime(),s=a-u;s>0&&(f.x=r/s,f.y=l/s,u=a),e.stopPropagation(),e.preventDefault()}}function c(){clearInterval(v),v=setInterval(function(){return.01>Math.abs(f.x)&&.01>Math.abs(f.y)?(clearInterval(v),void 0):(n(30*f.x,30*f.y),f.x*=.8,f.y*=.8,void 0)},10)}var p={},u=0,f={},v=null,h=!1;o&&(e(window).bind("touchstart"+j,r),e(window).bind("touchend"+j,l),y.bind("touchstart"+j,a),y.bind("touchmove"+j,s),y.bind("touchend"+j,c)),t&&(window.PointerEvent?(e(window).bind("pointerdown"+j,r),e(window).bind("pointerup"+j,l),y.bind("pointerdown"+j,a),y.bind("pointermove"+j,s),y.bind("pointerup"+j,c)):window.MSPointerEvent&&(e(window).bind("MSPointerDown"+j,r),e(window).bind("MSPointerUp"+j,l),y.bind("MSPointerDown"+j,a),y.bind("MSPointerMove"+j,s),y.bind("MSPointerUp"+j,c)))}function w(){y.bind("scroll"+j,function(){d()})}function m(){y.unbind(j),e(window).unbind(j),e(I).unbind(j),y.data("perfect-scrollbar",null),y.data("perfect-scrollbar-update",null),y.data("perfect-scrollbar-destroy",null),O.remove(),U.remove(),K.remove(),H.remove(),K=H=O=U=M=Y=S=P=D=x=E=X=q=B=R=k=C=Q=z=F=W=j=null}function T(){d(),w(),p(),u(),b(),v(),(J||N)&&g(J,N),L.useKeyboard&&h(),y.data("perfect-scrollbar",y),y.data("perfect-scrollbar-update",d),y.data("perfect-scrollbar-destroy",m)}var L=e.extend(!0,{},t),y=e(this);if("object"==typeof r?e.extend(!0,L,r):l=r,"update"===l)return y.data("perfect-scrollbar-update")&&y.data("perfect-scrollbar-update")(),y;if("destroy"===l)return y.data("perfect-scrollbar-destroy")&&y.data("perfect-scrollbar-destroy")(),y;if(y.data("perfect-scrollbar"))return y.data("perfect-scrollbar");y.addClass("ps-container");var S,P,D,x,M,E,X,Y,k,C,W="rtl"===y.css("direction"),j=n(),I=this.ownerDocument||document,K=e("
").appendTo(y),O=e("
").appendTo(K),q=o(K.css("bottom")),B=q===q,R=B?null:o(K.css("top")),A=o(K.css("borderLeftWidth"))+o(K.css("borderRightWidth")),H=e("
").appendTo(y),U=e("
").appendTo(H),Q=o(H.css("right")),z=Q===Q,F=z?null:o(H.css("left")),G=o(K.css("borderTopWidth"))+o(K.css("borderBottomWidth")),J="ontouchstart"in window||window.DocumentTouch&&document instanceof window.DocumentTouch,N=null!==window.navigator.msMaxTouchPoints;return T(),y})}}); \ No newline at end of file +(function(e){"use strict";"function"==typeof define&&define.amd?define(["jquery"],e):"object"==typeof exports?e(require("jquery")):e(jQuery)})(function(e){"use strict";function o(e){return"string"==typeof e?parseInt(e,10):~~e}var t={wheelSpeed:1,wheelPropagation:!1,minScrollbarLength:null,maxScrollbarLength:null,useBothWheelAxes:!1,useKeyboard:!0,suppressScrollX:!1,suppressScrollY:!1,scrollXMarginOffset:0,scrollYMarginOffset:0,includePadding:!1},n=function(){var e=0;return function(){var o=e;return e+=1,".perfect-scrollbar-"+o}}();e.fn.perfectScrollbar=function(r,l){return this.each(function(){function i(e,t){var n=e+t,r=P-k;C=0>n?0:n>r?r:n;var l=o(C*(x-P)/(P-k));L.scrollTop(l)}function a(e,t){var n=e+t,r=S-E;X=0>n?0:n>r?r:n;var l=o(X*(D-S)/(S-E));L.scrollLeft(l)}function s(e){return y.minScrollbarLength&&(e=Math.max(e,y.minScrollbarLength)),y.maxScrollbarLength&&(e=Math.min(e,y.maxScrollbarLength)),e}function c(){var e={width:S,display:M?"inherit":"none"};e.left=W?L.scrollLeft()+S-D:L.scrollLeft(),B?e.bottom=q-L.scrollTop():e.top=R+L.scrollTop(),K.css(e);var o={top:L.scrollTop(),height:P,display:Y?"inherit":"none"};z?o.right=W?D-L.scrollLeft()-Q-U.outerWidth():Q-L.scrollLeft():o.left=W?L.scrollLeft()+2*S-D-F-U.outerWidth():F+L.scrollLeft(),H.css(o),O.css({left:X,width:E-A}),U.css({top:C,height:k-G})}function d(){K.hide(),H.hide(),S=y.includePadding?L.innerWidth():L.width(),P=y.includePadding?L.innerHeight():L.height(),D=L.prop("scrollWidth"),x=L.prop("scrollHeight"),!y.suppressScrollX&&D>S+y.scrollXMarginOffset?(M=!0,E=s(o(S*S/D)),X=o(L.scrollLeft()*(S-E)/(D-S))):(M=!1,E=0,X=0,L.scrollLeft(0)),!y.suppressScrollY&&x>P+y.scrollYMarginOffset?(Y=!0,k=s(o(P*P/x)),C=o(L.scrollTop()*(P-k)/(x-P))):(Y=!1,k=0,C=0,L.scrollTop(0)),X>=S-E&&(X=S-E),C>=P-k&&(C=P-k),c(),M?L.addClass("ps-active-x"):L.removeClass("ps-active-x"),Y?L.addClass("ps-active-y"):L.removeClass("ps-active-y"),y.suppressScrollX||K.show(),y.suppressScrollY||H.show()}function p(){var o,t;O.bind("mousedown"+j,function(e){t=e.pageX,o=O.position().left,K.addClass("in-scrolling"),e.stopPropagation(),e.preventDefault()}),e(I).bind("mousemove"+j,function(e){K.hasClass("in-scrolling")&&(a(o,e.pageX-t),d(),e.stopPropagation(),e.preventDefault())}),e(I).bind("mouseup"+j,function(){K.hasClass("in-scrolling")&&K.removeClass("in-scrolling")}),o=t=null}function u(){var o,t;U.bind("mousedown"+j,function(e){t=e.pageY,o=U.position().top,H.addClass("in-scrolling"),e.stopPropagation(),e.preventDefault()}),e(I).bind("mousemove"+j,function(e){H.hasClass("in-scrolling")&&(i(o,e.pageY-t),d(),e.stopPropagation(),e.preventDefault())}),e(I).bind("mouseup"+j,function(){H.hasClass("in-scrolling")&&H.removeClass("in-scrolling")}),o=t=null}function f(e,o){var t=L.scrollTop();if(0===e){if(!Y)return!1;if(0===t&&o>0||t>=x-P&&0>o)return!y.wheelPropagation}var n=L.scrollLeft();if(0===o){if(!M)return!1;if(0===n&&0>e||n>=D-S&&e>0)return!y.wheelPropagation}return!0}function v(){function e(e){var o=e.originalEvent.deltaX,t=-1*e.originalEvent.deltaY;return(o===void 0||t===void 0)&&(o=-1*e.originalEvent.wheelDeltaX/6,t=e.originalEvent.wheelDeltaY/6),e.originalEvent.deltaMode&&1===e.originalEvent.deltaMode&&(o*=10,t*=10),o!==o&&t!==t&&(o=0,t=e.originalEvent.wheelDelta),[o,t]}function o(o){var n=e(o),r=n[0],l=n[1];t=!1,y.useBothWheelAxes?Y&&!M?(l?L.scrollTop(L.scrollTop()-l*y.wheelSpeed):L.scrollTop(L.scrollTop()+r*y.wheelSpeed),t=!0):M&&!Y&&(r?L.scrollLeft(L.scrollLeft()+r*y.wheelSpeed):L.scrollLeft(L.scrollLeft()-l*y.wheelSpeed),t=!0):(L.scrollTop(L.scrollTop()-l*y.wheelSpeed),L.scrollLeft(L.scrollLeft()+r*y.wheelSpeed)),d(),t=t||f(r,l),t&&(o.stopPropagation(),o.preventDefault())}var t=!1;window.onwheel!==void 0?L.bind("wheel"+j,o):window.onmousewheel!==void 0&&L.bind("mousewheel"+j,o)}function h(){var o=!1;L.bind("mouseenter"+j,function(){o=!0}),L.bind("mouseleave"+j,function(){o=!1});var t=!1;e(I).bind("keydown"+j,function(n){if((!n.isDefaultPrevented||!n.isDefaultPrevented())&&o){for(var r=document.activeElement?document.activeElement:I.activeElement;r.shadowRoot;)r=r.shadowRoot.activeElement;if(!e(r).is(":input,[contenteditable]")){var l=0,i=0;switch(n.which){case 37:l=-30;break;case 38:i=30;break;case 39:l=30;break;case 40:i=-30;break;case 33:i=90;break;case 32:case 34:i=-90;break;case 35:i=n.ctrlKey?-x:-P;break;case 36:i=n.ctrlKey?L.scrollTop():P;break;default:return}L.scrollTop(L.scrollTop()-i),L.scrollLeft(L.scrollLeft()+l),t=f(l,i),t&&n.preventDefault()}}})}function b(){function e(e){e.stopPropagation()}U.bind("click"+j,e),H.bind("click"+j,function(e){var t=o(k/2),n=e.pageY-H.offset().top-t,r=P-k,l=n/r;0>l?l=0:l>1&&(l=1),L.scrollTop((x-P)*l)}),O.bind("click"+j,e),K.bind("click"+j,function(e){var t=o(E/2),n=e.pageX-K.offset().left-t,r=S-E,l=n/r;0>l?l=0:l>1&&(l=1),L.scrollLeft((D-S)*l)})}function g(o,t){function n(e,o){L.scrollTop(L.scrollTop()-o),L.scrollLeft(L.scrollLeft()-e),d()}function r(){b=!0}function l(){b=!1}function i(e){return e.originalEvent.targetTouches?e.originalEvent.targetTouches[0]:e.originalEvent}function a(e){var o=e.originalEvent;return o.targetTouches&&1===o.targetTouches.length?!0:o.pointerType&&"mouse"!==o.pointerType?!0:!1}function s(e){if(a(e)){g=!0;var o=i(e);u.pageX=o.pageX,u.pageY=o.pageY,f=(new Date).getTime(),null!==h&&clearInterval(h),e.stopPropagation(),e.preventDefault()}}function c(e){if(!b&&g&&a(e)){var o=i(e),t={pageX:o.pageX,pageY:o.pageY},r=t.pageX-u.pageX,l=t.pageY-u.pageY;n(r,l),u=t;var s=(new Date).getTime(),c=s-f;c>0&&(v.x=r/c,v.y=l/c,f=s),e.stopPropagation(),e.preventDefault()}}function p(){!b&&g&&(g=!1,clearInterval(h),h=setInterval(function(){return.01>Math.abs(v.x)&&.01>Math.abs(v.y)?(clearInterval(h),void 0):(n(30*v.x,30*v.y),v.x*=.8,v.y*=.8,void 0)},10))}var u={},f=0,v={},h=null,b=!1,g=!1;o&&(e(window).bind("touchstart"+j,r),e(window).bind("touchend"+j,l),L.bind("touchstart"+j,s),L.bind("touchmove"+j,c),L.bind("touchend"+j,p)),t&&(window.PointerEvent?(e(window).bind("pointerdown"+j,r),e(window).bind("pointerup"+j,l),L.bind("pointerdown"+j,s),L.bind("pointermove"+j,c),L.bind("pointerup"+j,p)):window.MSPointerEvent&&(e(window).bind("MSPointerDown"+j,r),e(window).bind("MSPointerUp"+j,l),L.bind("MSPointerDown"+j,s),L.bind("MSPointerMove"+j,c),L.bind("MSPointerUp"+j,p)))}function w(){L.bind("scroll"+j,function(){d()})}function m(){L.unbind(j),e(window).unbind(j),e(I).unbind(j),L.data("perfect-scrollbar",null),L.data("perfect-scrollbar-update",null),L.data("perfect-scrollbar-destroy",null),O.remove(),U.remove(),K.remove(),H.remove(),K=H=O=U=M=Y=S=P=D=x=E=X=q=B=R=k=C=Q=z=F=W=j=null}function T(){d(),w(),p(),u(),b(),v(),(J||N)&&g(J,N),y.useKeyboard&&h(),L.data("perfect-scrollbar",L),L.data("perfect-scrollbar-update",d),L.data("perfect-scrollbar-destroy",m)}var y=e.extend(!0,{},t),L=e(this);if("object"==typeof r?e.extend(!0,y,r):l=r,"update"===l)return L.data("perfect-scrollbar-update")&&L.data("perfect-scrollbar-update")(),L;if("destroy"===l)return L.data("perfect-scrollbar-destroy")&&L.data("perfect-scrollbar-destroy")(),L;if(L.data("perfect-scrollbar"))return L.data("perfect-scrollbar");L.addClass("ps-container");var S,P,D,x,M,E,X,Y,k,C,W="rtl"===L.css("direction"),j=n(),I=this.ownerDocument||document,K=e("
").appendTo(L),O=e("
").appendTo(K),q=o(K.css("bottom")),B=q===q,R=B?null:o(K.css("top")),A=o(K.css("borderLeftWidth"))+o(K.css("borderRightWidth")),H=e("
").appendTo(L),U=e("
").appendTo(H),Q=o(H.css("right")),z=Q===Q,F=z?null:o(H.css("left")),G=o(H.css("borderTopWidth"))+o(H.css("borderBottomWidth")),J="ontouchstart"in window||window.DocumentTouch&&document instanceof window.DocumentTouch,N=null!==window.navigator.msMaxTouchPoints;return T(),L})}}); \ No newline at end of file diff --git a/package.json b/package.json index 317df16..a0dfd41 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "perfect-scrollbar", - "version": "0.5.4", + "version": "0.5.5", "description": "Tiny but perfect jquery scrollbar plugin.", "author": "Hyunje Alex Jun ", "contributors": [{ diff --git a/perfect-scrollbar.jquery.json b/perfect-scrollbar.jquery.json index e38ac23..4fd5316 100644 --- a/perfect-scrollbar.jquery.json +++ b/perfect-scrollbar.jquery.json @@ -2,7 +2,7 @@ "name": "perfect-scrollbar", "title": "perfect-scrollbar", "description": "Tiny but perfect jquery scrollbar plugin.", - "version": "0.5.4", + "version": "0.5.5", "author": { "name": "Hyunje Alex Jun", "email": "me@noraesae.net",