0
我有一个jquery边栏,显示页面加载时的所有元素,然后在页面加载完成时进行折叠。在页面加载之前隐藏jQuery边栏项目
我想隐藏折叠子菜单中的项目,因此只有在单击菜单以显示子菜单时才会显示它们。
下面是函数的样子:
(jQuery);
},{}],"/Code/html/themes/themekit/lib/sidebar/js/_dropdown.js":[function(require,module,exports){
(function ($) {
"use strict";
/**
* jQuery plugin wrapper for compatibility with Angular UI.Utils: jQuery Passthrough
*/
$.fn.tkSidebarDropdown = function() {
if (! this.length) return;
var sidebar = this;
sidebar.find('.collapse')
.off('shown.bs.collapse')
.off('show.bs.collapse')
.off('hidden.bs.collapse');
var nice = sidebar.find('[data-scrollable]');
if (nice.length) {
nice = nice.getNiceScroll()[ 0 ];
nice.scrollstart(function() {
if (! sidebar.is('[data-type="dropdown"]')) return;
sidebar.addClass('scrolling');
sidebar.find('#dropdown-temp > ul > li').empty();
sidebar.find('#dropdown-temp').hide();
sidebar.find('.open').removeClass('open');
});
nice.scrollend(function() {
if (! sidebar.is('[data-type="dropdown"]')) return;
$.data(this, 'lastScrollTop', nice.getScrollTop());
sidebar.removeClass('scrolling');
});
}
sidebar.find('.hasSubmenu').addClass('dropdown').removeClass('open')
.find('> ul').addClass('dropdown-menu').removeClass('collapse in').removeAttr('style')
.end()
.find('> a').removeClass('collapsed')
.removeAttr('data-toggle');
sidebar.find('.sidebar-menu > li.dropdown > a').on('mouseenter', function() {
var c = sidebar.find('#dropdown-temp');
sidebar.find('.open').removeClass('open');
c.hide();
if (! $(this).parent('.dropdown').is('.open') && ! sidebar.is('.scrolling')) {
var p = $(this).parent('.dropdown'),
t = p.find('> .dropdown-menu').clone().removeClass('submenu-hide');
if (! c.length) {
c = $('<div/>').attr('id', 'dropdown-temp').appendTo(sidebar);
c.html('<ul><li></li></ul>');
}
c.show();
c.find('.dropdown-menu').remove();
c = c.find('> ul > li').css({overflow: 'visible'}).addClass('dropdown open');
p.addClass('open');
t.appendTo(c).css({
top: p.offset().top - c.offset().top,
left: '100%'
}).show();
if (sidebar.is('.right')) {
t.css({
left: 'auto',
right: '100%'
});
}
}
});
sidebar.find('.sidebar-menu > li > a').on('mouseenter', function() {
if (! $(this).parent().is('.dropdown')) {
var sidebar = $(this).closest('.sidebar');
sidebar.find('.open').removeClass('open');
sidebar.find('#dropdown-temp').hide();
}
});
sidebar.find('.sidebar-menu > li > a').on('click', function (e) {
if ($(this).parent().is('.dropdown')) {
e.preventDefault();
e.stopPropagation();
}
});
sidebar.on('mouseleave', function() {
$(this).find('#dropdown-temp').hide();
$(this).find('.open').removeClass('open');
});
sidebar.find('.dropdown').on('mouseover', function() {
$(this).addClass('open').children('ul').removeClass('submenu-hide').addClass('submenu-show');
}).on('mouseout', function() {
$(this).children('ul').removeClass('.submenu-show').addClass('submenu-hide');
});
$('body').on('mouseout', '#dropdown-temp .dropdown', function() {
$('.sidebar-menu .open', $(this).closest('.sidebar')).removeClass('.open');
});
};
var transform_dd = function() {
$('.sidebar[data-type="dropdown"]').each(function() {
$(this).tkSidebarDropdown();
});
};
var transform_collapse = function() {
$('.sidebar[data-type="collapse"]').each(function() {
$(this).tkSidebarCollapse();
});
};
transform_dd();
$(window).bind('enterBreakpoint480', function() {
if (! $('.sidebar[data-type="dropdown"]').length) return;
$('.sidebar[data-type="dropdown"]').attr('data-type', 'collapse').attr('data-transformed', true);
transform_collapse();
});
function make_dd() {
if (! $('.sidebar[data-type="collapse"][data-transformed]').length) return;
$('.sidebar[data-type="collapse"][data-transformed]').attr('data-type', 'dropdown').attr('data-transformed', true);
transform_dd();
}
$(window).bind('enterBreakpoint768', make_dd);
$(window).bind('enterBreakpoint1024', make_dd);
})
如何在页面加载时隐藏子项目?