PATH:
home
/
letacommog
/
newrdv1
/
wp-content
/
themes
/
wilcity
/
assets
/
vendors
/
theia-sticky-sidebar
!function(T){T.fn.theiaStickySidebar=function(i){var t,e,o,a,s,n;function d(i,t){return!0===i.initialized||!(T("body").width()<i.minWidth)&&(function(v,i){v.initialized=!0,0===T("#theia-sticky-sidebar-stylesheet-"+v.namespace).length&&T("head").append(T('<style id="theia-sticky-sidebar-stylesheet-'+v.namespace+'">.theiaStickySidebar:after {content: ""; display: table; clear: both;}</style>'));i.each(function(){var i={};if(i.sidebar=T(this),i.options=v||{},i.container=T(i.options.containerSelector),0==i.container.length&&(i.container=i.sidebar.parent()),i.sidebar.parents().css("-webkit-transform","none"),i.sidebar.css({position:i.options.defaultPosition,overflow:"visible","-webkit-box-sizing":"border-box","-moz-box-sizing":"border-box","box-sizing":"border-box"}),i.stickySidebar=i.sidebar.find(".theiaStickySidebar"),0==i.stickySidebar.length){var e=/(?:text|application)\/(?:x-)?(?:javascript|ecmascript)/i;i.sidebar.find("script").filter(function(i,t){return 0===t.type.length||t.type.match(e)}).remove(),i.stickySidebar=T("<div>").addClass("theiaStickySidebar").append(i.sidebar.children()),i.sidebar.append(i.stickySidebar)}i.marginBottom=parseInt(i.sidebar.css("margin-bottom")),i.paddingTop=parseInt(i.sidebar.css("padding-top")),i.paddingBottom=parseInt(i.sidebar.css("padding-bottom"));var t,o,a,s=i.stickySidebar.offset().top,n=i.stickySidebar.outerHeight();function k(){i.fixedScrollTop=0,i.sidebar.css({"min-height":"1px"}),i.stickySidebar.css({position:"static",width:"",transform:"none"})}i.stickySidebar.css("padding-top",1),i.stickySidebar.css("padding-bottom",1),s-=i.stickySidebar.offset().top,n=i.stickySidebar.outerHeight()-n-s,0==s?(i.stickySidebar.css("padding-top",0),i.stickySidebarPaddingTop=0):i.stickySidebarPaddingTop=1,0==n?(i.stickySidebar.css("padding-bottom",0),i.stickySidebarPaddingBottom=0):i.stickySidebarPaddingBottom=1,i.previousScrollTop=null,i.fixedScrollTop=0,k(),i.onScroll=function(i){if(i.stickySidebar.is(":visible"))if(T("body").width()<i.options.minWidth)k();else{if(i.options.disableOnResponsiveLayouts){var t=i.sidebar.outerWidth("none"==i.sidebar.css("float"));if(t+50>i.container.width())return void k()}var e,o,a=T(document).scrollTop(),s="static";if(a>=i.sidebar.offset().top+(i.paddingTop-i.options.additionalMarginTop)){var n,d=i.paddingTop+v.additionalMarginTop,r=i.paddingBottom+i.marginBottom+v.additionalMarginBottom,c=i.sidebar.offset().top,p=i.sidebar.offset().top+(e=i.container,o=e.height(),e.children().each(function(){o=Math.max(o,T(this).height())}),o),b=0+v.additionalMarginTop,l=i.stickySidebar.outerHeight()+d+r<T(window).height();n=l?b+i.stickySidebar.outerHeight():T(window).height()-i.marginBottom-i.paddingBottom-v.additionalMarginBottom;var h=c-a+i.paddingTop,f=p-a-i.paddingBottom-i.marginBottom,g=i.stickySidebar.offset().top-a,S=i.previousScrollTop-a;"fixed"==i.stickySidebar.css("position")&&"modern"==i.options.sidebarBehavior&&(g+=S),"stick-to-top"==i.options.sidebarBehavior&&(g=v.additionalMarginTop),"stick-to-bottom"==i.options.sidebarBehavior&&(g=n-i.stickySidebar.outerHeight()),g=0<S?Math.min(g,b):Math.max(g,n-i.stickySidebar.outerHeight()),g=Math.max(g,h),g=Math.min(g,f-i.stickySidebar.outerHeight());var m=i.container.height()==i.stickySidebar.outerHeight();s=(m||g!=b)&&(m||g!=n-i.stickySidebar.outerHeight())?a+g-i.sidebar.offset().top-i.paddingTop<=v.additionalMarginTop?"static":"absolute":"fixed"}if("fixed"==s){var y=T(document).scrollLeft();i.stickySidebar.css({position:"fixed",width:x(i.stickySidebar)+"px",transform:"translateY("+g+"px)",left:i.sidebar.offset().left+parseInt(i.sidebar.css("padding-left"))-y+"px",top:"0px"})}else if("absolute"==s){var u={};"absolute"!=i.stickySidebar.css("position")&&(u.position="absolute",u.transform="translateY("+(a+g-i.sidebar.offset().top-i.stickySidebarPaddingTop-i.stickySidebarPaddingBottom)+"px)",u.top="0px"),u.width=x(i.stickySidebar)+"px",u.left="",i.stickySidebar.css(u)}else"static"==s&&k();"static"!=s&&1==i.options.updateSidebarHeight&&i.sidebar.css({"min-height":i.stickySidebar.outerHeight()+i.stickySidebar.offset().top-i.sidebar.offset().top+i.paddingBottom}),i.previousScrollTop=a}},i.onScroll(i),T(document).on("scroll."+i.options.namespace,(t=i,function(){t.onScroll(t)})),T(window).on("resize."+i.options.namespace,(o=i,function(){o.stickySidebar.css({position:"static"}),o.onScroll(o)})),"undefined"!=typeof ResizeSensor&&new ResizeSensor(i.stickySidebar[0],(a=i,function(){a.onScroll(a)}))})}(i,t),!0)}function x(i){var t;try{t=i[0].getBoundingClientRect().width}catch(i){}return void 0===t&&(t=i.width()),t}return(i=T.extend({containerSelector:"",additionalMarginTop:0,additionalMarginBottom:0,updateSidebarHeight:!0,minWidth:0,disableOnResponsiveLayouts:!0,sidebarBehavior:"modern",defaultPosition:"relative",namespace:"TSS"},i)).additionalMarginTop=parseInt(i.additionalMarginTop)||0,i.additionalMarginBottom=parseInt(i.additionalMarginBottom)||0,d(t=i,e=this)||(console.log("TSS: Body width smaller than options.minWidth. Init is delayed."),T(document).on("scroll."+t.namespace,(s=t,n=e,function(i){var t=d(s,n);t&&T(this).unbind(i)})),T(window).on("resize."+t.namespace,(o=t,a=e,function(i){var t=d(o,a);t&&T(this).unbind(i)}))),this}}(jQuery);
[+]
..
[-] theia-sticky-sidebar.js
[edit]