File Editor
Directories:
.. (Back)
Files:
animation.js
bootstrap.js
custom.js
fromblog.js
gallery-slides.js
headhesive.js
html5.js
ideal-image-slider.js
ideal-slides.js
iis-captions.js
imgLiquid.js
jquery.flexslider.js
jquery.smartmenus.bootstrap.js
jquery.smartmenus.js
modernizr.js
owl.carousel.js
scrollup.js
slides-captions.js
slides.js
stickUp.js
sticky.js
unslider.js
wow.js
Create New File
Create
Edit File: stickUp.js
jQuery( function($) { $(document).ready(function(){ var contentButton = []; var contentTop = []; var content = []; var lastScrollTop = 0; var scrollDir = ''; var itemClass = ''; var itemHover = ''; var menuSize = null; var stickyHeight = 0; var stickyMarginB = 0; var currentMarginT = 0; var topMargin = 0; $(window).scroll(function(event){ var st = $(this).scrollTop(); if (st > lastScrollTop){ scrollDir = 'down'; } else { scrollDir = 'up'; } lastScrollTop = st; }); $.fn.stickUp = function( options ) { // adding a class to users div $(this).addClass('stuckMenu'); //getting options var objn = 0; if(options != null) { for(var o in options) { if (options.hasOwnProperty(o)){ content[objn] = options[objn]; objn++; } } if(objn == 0) { console.log('error:needs arguments'); } itemClass = options.itemClass; itemHover = options.itemHover; if(options.topMargin != null) { if(options.topMargin == 'auto') { topMargin = parseInt($('.stuckMenu').css('margin-top')); } else { if(isNaN(options.topMargin) && options.topMargin.search("px") > 0){ topMargin = parseInt(options.topMargin.replace("px","")); } else if(!isNaN(parseInt(options.topMargin))) { topMargin = parseInt(options.topMargin); } else { console.log("incorrect argument, ignored."); topMargin = 0; } } } else { topMargin = 0; } menuSize = $('.'+itemClass).size(); } stickyHeight = parseInt($(this).height()); stickyMarginB = parseInt($(this).css('margin-bottom')); currentMarginT = parseInt($(this).next().closest('div').css('margin-top')); vartop = parseInt($(this).offset().top); //$(this).find('*').removeClass(itemHover); } $(document).on('scroll', function() { varscroll = parseInt($(document).scrollTop()); if(menuSize != null){ for(var i=0;i < menuSize;i++) { contentTop[i] = $('#'+content[i]+'').offset().top; function bottomView(i) { contentView = $('#'+content[i]+'').height()*.4; testView = contentTop[i] - contentView; //console.log(varscroll); if(varscroll > testView){ $('.'+itemClass).removeClass(itemHover); $('.'+itemClass+':eq('+i+')').addClass(itemHover); } else if(varscroll < 50){ $('.'+itemClass).removeClass(itemHover); $('.'+itemClass+':eq(0)').addClass(itemHover); } } if(scrollDir == 'down' && varscroll > contentTop[i]-50 && varscroll < contentTop[i]+50) { $('.'+itemClass).removeClass(itemHover); $('.'+itemClass+':eq('+i+')').addClass(itemHover); } if(scrollDir == 'up') { bottomView(i); } } } if(vartop < varscroll + topMargin){ $('.stuckMenu').addClass('isStuck'); $('.stuckMenu').next().closest('div').css({ 'margin-top': stickyHeight + stickyMarginB + currentMarginT + 'px' }, 10); $('.stuckMenu').css("position","fixed"); $('.isStuck').css({ top: '0px' }, 10, function(){ }); }; if(varscroll + topMargin < vartop){ $('.stuckMenu').removeClass('isStuck'); $('.stuckMenu').next().closest('div').css({ 'margin-top': currentMarginT + 'px' }, 10); $('.stuckMenu').css("position","relative"); }; }); }); });
Save Changes
Rename File
Rename