web/assets/js/ace/ace.sidebar-scroll-2.js
(开头部分) 7KB这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。
/**
<b>Scrollbars for sidebar</b>. This approach can be used on fixed or normal sidebar.
It uses <u>"overflow:hidden"</u> so you can't use <u>.hover</u> submenus and it will be disabled when sidebar is minimized.
It may also be marginally (negligibily) faster especially when resizing browser window.
Needs some work! Has a few issues!
*/
ace.sidebar_scrollable = function($ , options) {
if( !$.fn.ace_scroll ) return;
var old_safari = ace.vars['safari'] && navigator.userAgent.match(/version\/[1-5]/i)
//NOTE
//Safari on windows has not been updated for a long time.
//And it has a problem when sidebar is fixed&scrollable and there is a CSS3 animation inside page content.
//Very probably windows users of safari have migrated to another browser by now!
var $sidebar = $('.sidebar'),
$navbar = $('.navbar'),
$nav = $sidebar.find('.nav-list'),
$toggle = $sidebar.find('.sidebar-toggle'),
$shortcuts = $sidebar.find('.sidebar-shortcuts'),
$window = $(window),
sidebar = $sidebar.get(0),
nav = $nav.get(0);
if(!sidebar || !nav) return;
var submenu_hover = function() {
return sidebar.first('li.hover > .submenu').css('position') == 'absolute'
}
var scroll_div = null,
scroll_content = null,
scroll_content_div = null,
bar = null,
ace_scroll = null;
var is_scrolling = false,
_initiated = false;
var scroll_to_active = options.scroll_to_active || false,
include_shortcuts = options.include_shortcuts || false,
include_toggle = options.include_toggle || false,
only_if_fixed = options.only_if_fixed && true;
var is_sidebar_fixed =
'getComputedStyle' in window ?
//sidebar.offsetHeight is used to force redraw and recalculate 'sidebar.style.position' esp for webkit!
function() { sidebar.offsetHeight; return window.getComputedStyle(sidebar).position == 'fixed' }
:
function() { sidebar.offsetHeight; return $sidebar.css('position') == 'fixed' }
//sometimes when navbar is fixed, sidebar automatically becomes fixed without needing ".sidebar-fixed" class
//currently when mobile_style == 1
var $avail_height, $content_height;
var sidebar_fixed = is_sidebar_fixed(),
horizontal = $sidebar.hasClass('h-sidebar');
后面还有 177 行代码,购买后查看完整代码
24 小时内免费解锁 3 个项目,之后 1 积分/个。 规则说明
AI 解读
登录后可用,每次 10 积分,解读结果公开显示在下面。
还没有人解读过这个文件。
