src/main/resources/static/home/js/single_files/theia-sticky-sidebar.min.js

(完整代码) 5KB

!function(T){T.fn.theiaStickySidebar=function(i){var t,e,o,a,n,s;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(":not(.theia-exception)").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,n=i.stickySidebar.offset().top,s=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),n-=i.stickySidebar.offset().top,s=i.stickySidebar.outerHeight()-s-n,0==n?(i.stickySidebar.css("padding-top",0),i.stickySidebarPaddingTop=0):i.stickySidebarPaddingTop=1,0==s?(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(),n="static";if(a>=i.sidebar.offset().top+(i.paddingTop-i.options.additionalMarginTop)){var s,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();s=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=s-i.stickySidebar.outerHeight()),g=0<S?Math.min(g,b):Math.max(g,s-i.stickySidebar.outerHeight()),g=Math.max(g,h),g=Math.min(g,f-i.stickySidebar.outerHeight());var m=i.container.height()==i.stickySidebar.outerHeight();n=(m||g!=b)&&(m||g!=s-i.stickySidebar.outerHeight())?a+g-i.sidebar.offset().top-i.paddingTop<=v.additionalMarginTop?"static":"absolute":"fixed"}if("fixed"==n){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"==n){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"==n&&k();"static"!=n&&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,(n=t,s=e,function(i){var t=d(n,s);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);

24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明

AI 解读 AI

登录后可用,每次 10 算力,解读结果公开显示在下面。

还没有人解读过这个文件。