Sha256: 3ac4122043eba2f9c98f1ccf00941e93020351e3d57276c373f613a585d0d1e8
Contents?: true
Size: 1.78 KB
Versions: 3
Compression:
Stored size: 1.78 KB
Contents
/*! UIkit 2.26.3 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */ (function(UI) { "use strict"; UI.component('smoothScroll', { boot: function() { // init code UI.$html.on("click.smooth-scroll.uikit", "[data-uk-smooth-scroll]", function(e) { var ele = UI.$(this); if (!ele.data("smoothScroll")) { var obj = UI.smoothScroll(ele, UI.Utils.options(ele.attr("data-uk-smooth-scroll"))); ele.trigger("click"); } return false; }); }, init: function() { var $this = this; this.on("click", function(e) { e.preventDefault(); scrollToElement(UI.$(this.hash).length ? UI.$(this.hash) : UI.$("body"), $this.options); }); } }); function scrollToElement(ele, options) { options = UI.$.extend({ duration: 1000, transition: 'easeOutExpo', offset: 0, complete: function(){} }, options); // get / set parameters var target = ele.offset().top - options.offset, docheight = UI.$doc.height(), winheight = window.innerHeight; if ((target + winheight) > docheight) { target = docheight - winheight; } // animate to target, fire callback when done UI.$("html,body").stop().animate({scrollTop: target}, options.duration, options.transition).promise().done(options.complete); } UI.Utils.scrollToElement = scrollToElement; if (!UI.$.easing.easeOutExpo) { UI.$.easing.easeOutExpo = function(x, t, b, c, d) { return (t == d) ? b + c : c * (-Math.pow(2, -10 * t / d) + 1) + b; }; } })(UIkit);
Version data entries
3 entries across 3 versions & 2 rubygems