diff --git a/admin/css/admin.css b/admin/css/admin.css index 3552681..be2bd71 100644 --- a/admin/css/admin.css +++ b/admin/css/admin.css @@ -37,10 +37,6 @@ body, .pear-admin .layui-layout-control { left: 140px; position: absolute; - width: 505px; - white-space: nowrap; - overflow-x: scroll; - overflow: hidden; } .pear-admin .layui-layout-control .layui-nav{ diff --git a/component/pear/module/admin.js b/component/pear/module/admin.js index 3e05273..581237b 100644 --- a/component/pear/module/admin.js +++ b/component/pear/module/admin.js @@ -93,6 +93,7 @@ layui.define(['message', 'table', 'jquery', 'element', 'yaml', 'form', 'tab', 'm height: '100%', method: param.menu.method, control: param.menu.control ? 'control' : false, // control + controlWidth: param.menu.controlWidth, defaultMenu: 0, accordion: param.menu.accordion, url: param.menu.data, @@ -534,31 +535,5 @@ layui.define(['message', 'table', 'jquery', 'element', 'yaml', 'form', 'tab', 'm } } - $("#control").on("mousewheel DOMMouseScroll", function(event) { - - var delta = (event.originalEvent.wheelDelta && (event.originalEvent.wheelDelta > 0 ? 1 : -1)) || // chrome & ie - (event.originalEvent.detail && (event.originalEvent.detail > 0 ? -1 : 1)); // firefox - - if (delta > 0) { - for (var num = 1; num < 20; num++) { - setTimeout(function() { - if ($("#control ul").css('left').replace("px", "") < 0) { - $("#control ul").css("left", "+=2px"); - } - }, 10) - } - } else if (delta < 0) { - - if(( (Number)($("#control ul").css("left").replace("px","")) + ($("#control ul").width() - $("#control").width())) > 0){ - for (var num = 1; num < 20; num++) { - setTimeout(function() { - $("#control ul").css("left", "-=2px"); - }, 10) - } - } - } - console.log(delta); - }); - exports('admin', pearAdmin); }) diff --git a/component/pear/module/menu.js b/component/pear/module/menu.js index 33c0df8..22edb64 100644 --- a/component/pear/module/menu.js +++ b/component/pear/module/menu.js @@ -20,6 +20,7 @@ layui.define(['table', 'jquery', 'element'], function(exports) { defaultOpen: opt.defaultOpen, defaultSelect: opt.defaultSelect, control: opt.control, + controlWidth: opt.controlWidth ? opt.controlWidth: 500, defaultMenu: opt.defaultMenu, accordion: opt.accordion, height: opt.height, @@ -47,6 +48,33 @@ layui.define(['table', 'jquery', 'element'], function(exports) { // 处理高度 $("#"+opt.elem).height(option.height) + + setTimeout(function(){ + $("#"+opt.control+" .control").on("mousewheel DOMMouseScroll", function(event) { + + var delta = (event.originalEvent.wheelDelta && (event.originalEvent.wheelDelta > 0 ? 1 : -1)) || // chrome & ie + (event.originalEvent.detail && (event.originalEvent.detail > 0 ? -1 : 1)); // firefox + + if (delta > 0) { + for (var num = 1; num < 20; num++) { + setTimeout(function() { + if ($("#"+opt.control+" .control ul").css('left').replace("px", "") < 0) { + $("#"+opt.control+" .control ul").css("left", "+=2px"); + } + }, 10) + } + } else if (delta < 0) { + if(( (Number)($("#"+opt.control+" .control ul").css("left").replace("px","")) + ($("#"+opt.control+" .control ul").width() - $("#"+opt.control+" .control").width())) > 0){ + for (var num = 1; num < 20; num++) { + setTimeout(function() { + $("#"+opt.control+" .control ul").css("left", "-=2px"); + }, 10) + } + } + } + }); + },1000) + return new pearMenu(opt); } @@ -234,7 +262,7 @@ layui.define(['table', 'jquery', 'element'], function(exports) { } function createMenuAndControl(option) { - var control = '