/** * jQuery scrollToTop v0.4.3 * https://github.com/amazingSurge/jquery-scrollToTop * * Copyright (c) amazingSurge * Released under the LGPL-3.0 license */ !function(t,o){if("function"==typeof define&&define.amd)define(["jquery"],o);else if("undefined"!=typeof exports)o(require("jquery"));else{var i={exports:{}};o(t.jQuery),t.jqueryScrollToTopEs=i.exports}}(this,function(t){"use strict";function o(t,o){if(!(t instanceof o))throw new TypeError("Cannot call a class as a function")}function i(){var t=void 0,o=void 0,i="",e=!1,n=document.createElement("fakeelement"),s={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionend",transition:"transitionend"};for(t in s)if(void 0!==n.style[t]){o=s[t],e=!0;break}return/(WebKit)/i.test(window.navigator.userAgent)&&(i="-webkit-"),{prefix:i,end:o,supported:e}}function e(t,o){var i=this,e=Date.now||function(){return(new Date).getTime()},n=void 0,s=void 0,a=void 0,l=void 0,r=0,u=function(){r=e(),n=null,l=t.apply(s,a),n||(s=a=null)};return function(){for(var d=arguments.length,c=Array(d),f=0;fo?(n&&(clearTimeout(n),n=null),r=p,l=t.apply(s,a),n||(s=a=null)):n||(n=setTimeout(u,h)),l}}var n=function(t){return t&&t.__esModule?t:{default:t}}(t),s=function(){function t(t,o){for(var i=0;i0&&void 0!==arguments[0]?arguments[0]:{};o(this,t),this.$doc=(0,n.default)("body"),this.options=n.default.extend(!0,{},a,i);var e=this.options.namespace;null===this.options.skin&&(this.options.skin="default"),this.classes={skin:e+"_"+this.options.skin,trigger:e,animating:e+"_animating",show:e+"_show"},this.disabled=!1,this.useMobile=!1,this.isShow=!1,this._init()}return s(t,[{key:"_init",value:function(){this.transition=i(),this._build(),this.options.target?"number"==typeof this.options.target?this.target=this.options.target:"string"==typeof this.options.target&&(this.target=Math.floor((0,n.default)(this.options.target).offset().top)):this.target=0,this._bindEvents(),this._toggle()}},{key:"_bindEvents",value:function(){var t=this;this.$trigger.on("click.scrollToTop",function(){return t.$doc.trigger("ScrollToTop::jump"),!1}),this.$doc.on("ScrollToTop::jump",function(){if(!t.disabled){t.checkMobile();var o=void 0,i=void 0;if(t.useMobile?(o=t.options.mobile.speed,i=t.options.mobile.easing):(o=t.options.speed,i=t.options.easing),t.$doc.addClass(t.classes.animating),t.transition.supported){var e=(0,n.default)(window).scrollTop();t.$doc.css({"margin-top":-e+t.target+"px"}),(0,n.default)(window).scrollTop(t.target),t._insertRule(".duration_"+o+"{"+t.transition.prefix+"transition-duration: "+o+"ms;}"),t.$doc.addClass("easing_"+i+" duration_"+o).css({"margin-top":""}).one(t.transition.end,function(){t.$doc.removeClass(t.classes.animating+" easing_"+i+" duration_"+o)})}else(0,n.default)("html, body").stop(!0,!1).animate({scrollTop:t.target},o,function(){t.$doc.removeClass(t.classes.animating)})}}).on("ScrollToTop::show",function(){t.isShow||(t.isShow=!0,t.$trigger.addClass(t.classes.show))}).on("ScrollToTop::hide",function(){t.isShow&&(t.isShow=!1,t.$trigger.removeClass(t.classes.show))}).on("ScrollToTop::disable",function(){t.disabled=!0,t.$doc.trigger("ScrollToTop::hide")}).on("ScrollToTop::enable",function(){t.disabled=!1,t._toggle()}),(0,n.default)(window).on("scroll.ScrollToTop",e(function(){t.disabled||t._toggle()},this.options.throttle)),this.options.mobile&&(0,n.default)(window).on("resize.ScrollToTop orientationchange.ScrollToTop",e(function(){t.disabled||t.checkMobile()},this.options.throttle))}},{key:"_build",value:function(){this.options.trigger?this.$trigger=(0,n.default)(this.options.trigger):this.$trigger=(0,n.default)(''+this.options.text+"").appendTo((0,n.default)("body")),this._insertRule("."+this.classes.show+"{"+this.transition.prefix+"animation-duration: "+this.options.animationSpeed+"ms;"+this.transition.prefix+"animation-name: "+this.options.namespace+"_"+this.options.animation+";}"),this.options.mobile&&this._insertRule("@media (max-width: "+this.options.mobile.width+"px){."+this.classes.show+"{"+this.transition.prefix+"animation-duration: "+this.options.mobile.animationSpeed+"ms !important;"+this.transition.prefix+"animation-name: "+this.options.namespace+"_"+this.options.mobile.animation+" !important;}}")}},{key:"checkMobile",value:function(){(0,n.default)(window).width()t}},{key:"_toggle",value:function(){this.can()?this.$doc.trigger("ScrollToTop::show"):this.$doc.trigger("ScrollToTop::hide")}},{key:"_insertRule",value:function(t){if(!this.rules||!this.rules[t])if(void 0===this.rules?this.rules={}:this.rules[t]=!0,document.styleSheets&&document.styleSheets.length)document.styleSheets[0].insertRule(t,0);else{var o=document.createElement("style");o.innerHTML=t,document.head.appendChild(o)}}},{key:"jump",value:function(){this.$doc.trigger("ScrollToTop::jump")}},{key:"disable",value:function(){this.$doc.trigger("ScrollToTop::disable")}},{key:"enable",value:function(){this.$doc.trigger("ScrollToTop::enable")}},{key:"destroy",value:function(){this.$trigger.remove(),this.$doc.data("ScrollToTop",null),this.$doc.off("ScrollToTop::enable").off("ScrollToTop::disable").off("ScrollToTop::jump").off("ScrollToTop::show").off("ScrollToTop::hide"),(0,n.default)(window).off(".ScrollToTop")}}],[{key:"setDefaults",value:function(t){n.default.extend(!0,a,n.default.isPlainObject(t)&&t)}}]),t}(),r={version:"0.4.3"},u=n.default.fn.scrollToTop,d=function(t){for(var o=arguments.length,i=Array(o>1?o-1:0),e=1;e