/** * Main JS file for Casper behaviours */ /* globals jQuery, document */ (function ($, undefined) { "use strict"; var $document = $(document); $document.ready(function () { var $postContent = $(".post-content"); $postContent.fitVids(); $(".scroll-up").arctic_scroll(); var scrollTarget = (window.innerHeight * 0.30); // Don't hide this earlier (in CSS) for SEO reasons $('.hidden-content').hide(); // On scroll, check if the height is passed, and if so, trigger. $(document).scroll(function(e){ if (window.scrollY >= scrollTarget) { $('#scroll-arrow').hide(200); $('.hidden-content').fadeIn(100); } else if (window.scrollY < scrollTarget) { $('.hidden-content').fadeOut(200); $('#scroll-arrow').show(200); } }); }); // Arctic Scroll by Paul Adam Davis // https://github.com/PaulAdamDavis/Arctic-Scroll $.fn.arctic_scroll = function (options) { var defaults = { elem: $(this), speed: 500 }, allOptions = $.extend(defaults, options); allOptions.elem.click(function (event) { event.preventDefault(); var $this = $(this), $htmlBody = $('html, body'), offset = ($this.attr('data-offset')) ? $this.attr('data-offset') : false, position = ($this.attr('data-position')) ? $this.attr('data-position') : false, toMove; if (offset) { toMove = parseInt(offset); $htmlBody.stop(true, false).animate({scrollTop: ($(this.hash).offset().top + toMove) }, allOptions.speed); } else if (position) { toMove = parseInt(position); $htmlBody.stop(true, false).animate({scrollTop: toMove }, allOptions.speed); } else { $htmlBody.stop(true, false).animate({scrollTop: ($(this.hash).offset().top) }, allOptions.speed); } }); }; })(jQuery);