Вход Регистрация
Файл: sngine-v2.8/Script/includes/assets/js/plugins/sticky-sidebar/theia-sticky-sidebar.min.js
Строк: 208
<?php
!function(i){i.fn.theiaStickySidebar=function(t){var o,e,a,d,s,n;function r(t,o){return!0===t.initialized||!(i("body").width()<t.minWidth)&&(a=o,(e=t).initialized=!0,i("head").append(i('<style>.theiaStickySidebar:after {content: ""; display: table; clear: both;}</style>')),a.each(function(){var t={};if(t.sidebar=i(this),t.options=e||{},t.container=i(t.options.containerSelector),0==t.container.length&&(t.container=t.sidebar.parent()),t.sidebar.parents().css("-webkit-transform","none"),t.sidebar.css({position:"relative",overflow:"visible","-webkit-box-sizing":"border-box","-moz-box-sizing":"border-box","box-sizing":"border-box"}),t.stickySidebar=t.sidebar.find(".theiaStickySidebar"),0==t.stickySidebar.length){var o=/(?:text|application)/(?:x-)?(?:javascript|ecmascript)/i;t.sidebar.find("script").filter(function(i,t){return 0===t.type.length||t.type.match(o)}).remove(),t.stickySidebar=i("<div>").addClass("theiaStickySidebar").append(t.sidebar.children()),t.sidebar.append(t.stickySidebar)}t.marginBottom=parseInt(t.sidebar.css("margin-bottom")),t.paddingTop=parseInt(t.sidebar.css("padding-top")),t.paddingBottom=parseInt(t.sidebar.css("padding-bottom"));var a,d,s=t.stickySidebar.offset().top,n=t.stickySidebar.outerHeight();function r(){t.fixedScrollTop=0,t.sidebar.css({"min-height":"1px"}),t.stickySidebar.css({position:"static",width:"",transform:"none"})}t.stickySidebar.css("padding-top",1),t.stickySidebar.css("padding-bottom",1),s-=t.stickySidebar.offset().top,n=t.stickySidebar.outerHeight()-n-s,0==s?(t.stickySidebar.css("padding-top",0),t.stickySidebarPaddingTop=0):t.stickySidebarPaddingTop=1,0==n?(t.stickySidebar.css("padding-bottom",0),t.stickySidebarPaddingBottom=0):t.stickySidebarPaddingBottom=1,t.previousScrollTop=null,t.fixedScrollTop=0,r(),t.onScroll=function(t){if(t.stickySidebar.is(":visible"))if(i("body").width()<t.options.minWidth)r();else{if(t.options.disableOnResponsiveLayouts){var o=t.sidebar.outerWidth("none"==t.sidebar.css("float"));if(o+50>t.container.width())return void r()}var a,d,s=i(document).scrollTop(),n="static";if(s>=t.sidebar.offset().top+(t.paddingTop-t.options.additionalMarginTop)){var p,b=t.paddingTop+e.additionalMarginTop,l=t.paddingBottom+t.marginBottom+e.additionalMarginBottom,h=t.sidebar.offset().top,g=t.sidebar.offset().top+(a=t.container,d=a.height(),a.children().each(function(){d=Math.max(d,i(this).height())}),d),f=0+e.additionalMarginTop,S=t.stickySidebar.outerHeight()+b+l<i(window).height();p=S?f+t.stickySidebar.outerHeight():i(window).height()-t.marginBottom-t.paddingBottom-e.additionalMarginBottom;var y=h-s+t.paddingTop,m=g-s-t.paddingBottom-t.marginBottom,u=t.stickySidebar.offset().top-s,k=t.previousScrollTop-s;"fixed"==t.stickySidebar.css("position")&&"modern"==t.options.sidebarBehavior&&(u+=k),"stick-to-top"==t.options.sidebarBehavior&&(u=e.additionalMarginTop),"stick-to-bottom"==t.options.sidebarBehavior&&(u=p-t.stickySidebar.outerHeight()),u=k>0?Math.min(u,f):Math.max(u,p-t.stickySidebar.outerHeight()),u=Math.max(u,y),u=Math.min(u,m-t.stickySidebar.outerHeight());var v=t.container.height()==t.stickySidebar.outerHeight();n=!v&&u==f||!v&&u==p-t.stickySidebar.outerHeight()?"fixed":s+u-t.sidebar.offset().top-t.paddingTop<=e.additionalMarginTop?"static":"absolute"}if("fixed"==n){var x=i(document).scrollLeft();t.stickySidebar.css({position:"fixed",width:c(t.stickySidebar)+"px",transform:"translateY("+u+"px)",left:t.sidebar.offset().left+parseInt(t.sidebar.css("padding-left"))-x+"px",top:"0px"})}else if("absolute"==n){var B={};"absolute"!=t.stickySidebar.css("position")&&(B.position="absolute",B.transform="translateY("+(s+u-t.sidebar.offset().top-t.stickySidebarPaddingTop-t.stickySidebarPaddingBottom)+"px)",B.top="0px"),B.width=c(t.stickySidebar)+"px",B.left="",t.stickySidebar.css(B)}else"static"==n&&r();"static"!=n&&1==t.options.updateSidebarHeight&&t.sidebar.css({"min-height":t.stickySidebar.outerHeight()+t.stickySidebar.offset().top-t.sidebar.offset().top+t.paddingBottom}),t.previousScrollTop=s}},t.onScroll(t),i(document).scroll((a=t,function(){a.onScroll(a)})),i(window).resize((d=t,function(){d.stickySidebar.css({position:"static"}),d.onScroll(d)}))}),!0);var e,a}function c(i){var t;try{t=i[0].getBoundingClientRect().width}catch(i){}return void 0===t&&(t=i.width()),t}(t=i.extend({containerSelector:"",additionalMarginTop:0,additionalMarginBottom:0,updateSidebarHeight:!0,minWidth:0,disableOnResponsiveLayouts:!0,sidebarBehavior:"modern"},t)).additionalMarginTop=parseInt(t.additionalMarginTop)||0,t.additionalMarginBottom=parseInt(t.additionalMarginBottom)||0,r(o=t,e=this)||(console.log("TSS: Body width smaller than options.minWidth. Init is delayed."),i(document).scroll((s=o,n=e,function(t){var o=r(s,n);o&&i(this).unbind(t)})),i(window).resize((a=o,d=e,function(t){var o=r(a,d);o&&i(this).unbind(t)})))}}(jQuery);
?>
Онлайн: 1
Реклама