JGUI源码:Accordion折叠到侧边栏实现
Posted zhaogaojian
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JGUI源码:Accordion折叠到侧边栏实现相关的知识,希望对你有一定的参考价值。
折叠和非折叠效果如左右图所示
代码如下
//折叠 $.fn.jAccordionfold = function() { return this.each(function() { var obj = $(this); obj.find(‘.jgui-accordion-navitem‘).siblings("dd").slideUp(); obj.find(‘.jgui-accordion-navitem span‘).hide(); obj.find(‘.jgui-accordion-navitem .jgui-accordion-navitem-more‘).hide(); }); }; //展开 $.fn.jAccordionunfold = function() { return this.each(function() { var obj = $(this); obj.find(‘.jgui-accordion-navitem-more.expanded‘).closest(".jgui-accordion-navitem").siblings("dd").slideDown(); obj.find(‘.jgui-accordion-navitem span‘).show(); obj.find(‘.jgui-accordion-navitem .jgui-accordion-navitem-more‘).show(); }); };
把所有展开的抽屉项折叠起来,再改变Accordion的宽度即可实现上图效果,收到侧边栏后,点击任意图标能够恢复到正常非折叠状态进行操作。
$(‘#folderbtn‘).click(function(event) { if($(‘#leftpanel‘).is(‘.unfold‘)){//未折叠 $(‘#leftpanel‘).width(50); $(‘#centerpanel‘).css(‘left‘,‘50px‘); $(‘#mainlogo‘).html(‘J‘); $(‘#menuaccordion‘).jAccordionfold(); } else{ $(‘#leftpanel‘).width(300); $(‘#centerpanel‘).css(‘left‘,‘300px‘); $(‘#mainlogo‘).html(‘JGUI DEMO‘); $(‘#menuaccordion‘).jAccordionunfold(); } $(‘#leftpanel‘).toggleClass(‘unfold‘); $(‘#folderbtn‘).toggleClass(‘icon-menu-unfold icon-menu-fold‘); }); $("#menuaccordion .jgui-accordion-navitem").click(function(event) { if(!$(‘#leftpanel‘).is(‘.unfold‘)){ $(‘#leftpanel‘).width(300); $(‘#centerpanel‘).css(‘left‘,‘300px‘); $(‘#mainlogo‘).html(‘JGUI DEMO‘); $(‘#menuaccordion‘).jAccordionunfold(); $(‘#leftpanel‘).toggleClass(‘unfold‘); $(‘#folderbtn‘).toggleClass(‘icon-menu-unfold icon-menu-fold‘); } });
目前折叠起来的图标没有带tooltip或者菜单,如果有更好的用户体验,当鼠标放到折叠的菜单上时,应该显示一个tooltip或者菜单,这个将在以后实现。
以上是关于JGUI源码:Accordion折叠到侧边栏实现的主要内容,如果未能解决你的问题,请参考以下文章
Python 小白从零开始 PyQt5 项目实战折叠侧边栏的实现