?? GreyFile — Mystic File Browser

Current path: home/webdevt/www/wdp/wp-content/themes/quadric/assets/js/modules/



?? Go up: /home/webdevt/www/wdp/wp-content/themes/quadric/assets/js

?? Viewing: portfolio.js

(function($) {
    'use strict';

    edgtf.modules.portfolio = {};

    $(window).on('load', function() {
        edgtfPortfolioSingleFollow().init();
    });

    var edgtfPortfolioSingleFollow = function() {

			var info = $('.edgtf-follow-portfolio-info .small-images.edgtf-portfolio-single-holder .edgtf-portfolio-info-holder, ' +
				'.edgtf-follow-portfolio-info .small-slider.edgtf-portfolio-single-holder .edgtf-portfolio-info-holder');

			if (info.length) {
				var infoHolder = info.parent(),
					infoHolderOffset = infoHolder.offset().top,
					infoHolderHeight = infoHolder.height(),
					mediaHolder = $('.edgtf-portfolio-media'),
					mediaHolderHeight = mediaHolder.height(),
					header = $('.header-appear, .edgtf-fixed-wrapper'),
					headerHeight = (header.length) ? header.height() : 0;
			}

			var infoHolderPosition = function() {

				if(info.length) {

					if (mediaHolderHeight > infoHolderHeight) {
						if(edgtf.scroll > infoHolderOffset) {
							info.animate({
								marginTop: (edgtf.scroll - (infoHolderOffset) + edgtfQuadricGlobalVars.vars.edgtfAddForAdminBar + headerHeight + 20) //20 px is for styling, spacing between header and info holder
							});
						}
					}

				}
			};

			var recalculateInfoHolderPosition = function() {

				if (info.length) {
					if(mediaHolderHeight > infoHolderHeight) {
						if(edgtf.scroll > infoHolderOffset) {

							if(edgtf.scroll + headerHeight + edgtfQuadricGlobalVars.vars.edgtfAddForAdminBar + infoHolderHeight + 20 < infoHolderOffset + mediaHolderHeight) {    //20 px is for styling, spacing between header and info holder

								//Calculate header height if header appears
								if ($('.header-appear, .edgtf-fixed-wrapper').length) {
									headerHeight = $('.header-appear, .edgtf-fixed-wrapper').height();
								}
								info.stop().animate({
									marginTop: (edgtf.scroll - (infoHolderOffset) + edgtfQuadricGlobalVars.vars.edgtfAddForAdminBar + headerHeight + 20) //20 px is for styling, spacing between header and info holder
								});
								//Reset header height
								headerHeight = 0;
							}
							else{
								info.stop().animate({
									marginTop: mediaHolderHeight - infoHolderHeight
								});
							}
						} else {
							info.stop().animate({
								marginTop: 0
							});
						}
					}
				}
			};

        return {

            init : function() {

                infoHolderPosition();
                $(window).scroll(function(){
                    recalculateInfoHolderPosition();
                });

            }

        };

    };

})(jQuery);


??

??