Sha256: ac90542a8202298239e1b875c9646ac8455bdca4d3e8b80939253666a90b9d35
Contents?: true
Size: 1.78 KB
Versions: 2
Compression:
Stored size: 1.78 KB
Contents
/*! UIkit 2.20.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
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
uikit-sass-rails-1.4.1 | vendor/assets/javascripts/uikit/core/smooth-scroll.js |
uikit-sass-rails-1.4.0 | vendor/assets/javascripts/uikit/core/smooth-scroll.js |