Sha256: 1f02a9ea7d247347b376032b1a4d8651c2decd4d3346b9f740f536b16dd5b801
Contents?: true
Size: 1.73 KB
Versions: 4
Compression:
Stored size: 1.73 KB
Contents
(function ($) { $.fn.parallax = function () { var window_width = $(window).width(); // Parallax Scripts return this.each(function (i) { var $this = $(this); $this.addClass('parallax'); function updateParallax(initial) { var container_height; if (window_width < 601) { container_height = $this.height() > 0 ? $this.height() : $this.children("img").height(); } else { container_height = $this.height() > 0 ? $this.height() : 500; } var $img = $this.children("img").first(); var img_height = $img.height(); var parallax_dist = img_height - container_height; var bottom = $this.offset().top + container_height; var top = $this.offset().top; var scrollTop = $(window).scrollTop(); var windowHeight = window.innerHeight; var windowBottom = scrollTop + windowHeight; var percentScrolled = (windowBottom - top) / (container_height + windowHeight); var parallax = Math.round(parallax_dist * percentScrolled); if (initial) { $img.css('display', 'block'); } if (bottom > scrollTop && top < scrollTop + windowHeight) { $img.css('transform', "translate3D(-50%," + parallax + "px, 0)"); } } // Wait for image load $this.children("img").one("load", function () { updateParallax(true); }).each(function () { if (this.complete) $(this).trigger("load"); }); $(window).scroll(function () { window_width = $(window).width(); updateParallax(false); }); $(window).resize(function () { window_width = $(window).width(); updateParallax(false); }); }); }; })(jQuery);
Version data entries
4 entries across 4 versions & 1 rubygems