mirror of
https://github.com/jcreek/phldnhack.git
synced 2026-07-13 02:53:44 +00:00
Added the SCSS Materialize files
This commit is contained in:
@@ -0,0 +1,62 @@
|
||||
(function ($) {
|
||||
$(document).ready(function() {
|
||||
|
||||
$.fn.pushpin = function (options) {
|
||||
|
||||
var defaults = {
|
||||
top: 0,
|
||||
bottom: Infinity,
|
||||
offset: 0
|
||||
}
|
||||
options = $.extend(defaults, options);
|
||||
|
||||
$index = 0;
|
||||
return this.each(function() {
|
||||
var $uniqueId = Materialize.guid(),
|
||||
$this = $(this),
|
||||
$original_offset = $(this).offset().top;
|
||||
|
||||
function removePinClasses(object) {
|
||||
object.removeClass('pin-top');
|
||||
object.removeClass('pinned');
|
||||
object.removeClass('pin-bottom');
|
||||
}
|
||||
|
||||
function updateElements(objects, scrolled) {
|
||||
objects.each(function () {
|
||||
// Add position fixed (because its between top and bottom)
|
||||
if (options.top <= scrolled && options.bottom >= scrolled && !$(this).hasClass('pinned')) {
|
||||
removePinClasses($(this));
|
||||
$(this).css('top', options.offset);
|
||||
$(this).addClass('pinned');
|
||||
}
|
||||
|
||||
// Add pin-top (when scrolled position is above top)
|
||||
if (scrolled < options.top && !$(this).hasClass('pin-top')) {
|
||||
removePinClasses($(this));
|
||||
$(this).css('top', 0);
|
||||
$(this).addClass('pin-top');
|
||||
}
|
||||
|
||||
// Add pin-bottom (when scrolled position is below bottom)
|
||||
if (scrolled > options.bottom && !$(this).hasClass('pin-bottom')) {
|
||||
removePinClasses($(this));
|
||||
$(this).addClass('pin-bottom');
|
||||
$(this).css('top', options.bottom - $original_offset);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
updateElements($this, $(window).scrollTop());
|
||||
$(window).on('scroll.' + $uniqueId, function () {
|
||||
var $scrolled = $(window).scrollTop() + options.offset;
|
||||
updateElements($this, $scrolled);
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
};
|
||||
|
||||
|
||||
});
|
||||
}( jQuery ));
|
||||
Reference in New Issue
Block a user