优化手机端表现

This commit is contained in:
augushong
2024-11-07 14:32:34 +08:00
parent e2314b2553
commit 3baaf4747d
14 changed files with 48 additions and 82 deletions

View File

@@ -21,7 +21,6 @@
* @param options.clearUrl 后台清理缓存接口
* @param options.urlHashLocation URL地址hash定位
* @param options.bgColorDefault 默认皮肤
* @param options.multiModule 是否开启多模块
* @param options.menuChildOpen 是否展开子菜单
* @param options.loadingTime 初始化加载时间
* @param options.pageAnim iframe窗口动画
@@ -32,7 +31,6 @@
options.clearUrl = options.clearUrl || null;
options.urlHashLocation = options.urlHashLocation || false;
options.bgColorDefault = options.bgColorDefault || 0;
options.multiModule = options.multiModule || false;
options.menuChildOpen = options.menuChildOpen || false;
options.loadingTime = options.loadingTime || 1;
options.pageAnim = options.pageAnim || false;
@@ -48,13 +46,11 @@
miniAdmin.listen();
miniMenu.render({
menuList: data.menuInfo,
multiModule: options.multiModule,
menuChildOpen: options.menuChildOpen
});
miniTab.render({
filter: 'layuiminiTab',
urlHashLocation: options.urlHashLocation,
multiModule: options.multiModule,
menuChildOpen: options.menuChildOpen,
maxTabNum: options.maxTabNum,
menuList: data.menuInfo,
@@ -92,10 +88,18 @@
* @param data
*/
renderHome: function (data) {
// 初始化欢迎页面
sessionStorage.setItem('layuiminiHomeHref', data.href);
$('#layuiminiHomeTabId').html('<span class="layuimini-tab-active"></span><span class="disable-close">' + data.title + '</span><i class="layui-icon layui-unselect layui-tab-close">ဆ</i>');
$('#layuiminiHomeTabId').attr('lay-id', data.href);
$('#layuiminiHomeTabIframe').html('<iframe width="100%" height="100%" frameborder="no" border="0" marginwidth="0" marginheight="0" src="' + data.href + '"></iframe>');
if($('#layuiminiHomeTabIdMobile').length == 1){
$('#layuiminiHomeTabIdMobile').html('<span class="layuimini-tab-active"></span><span class="disable-close">' + data.mb_title + '</span><i class="layui-icon layui-unselect layui-tab-close">ဆ</i>');
$('#layuiminiHomeTabIdMobile').attr('lay-id', data.mb_href);
$('#layuiminiHomeTabIframeMobile').html('<iframe width="100%" height="100%" frameborder="no" border="0" marginwidth="0" marginheight="0" src="' + data.mb_href + '"></iframe>');
}
},
/**

View File

@@ -8,14 +8,13 @@
/**
* 菜单初始化
* @param options.menuList 菜单数据信息
* @param options.multiModule 是否开启多模块
* @param options.menuChildOpen 是否展开子菜单
*/
render: function (options) {
options.menuList = options.menuList || [];
options.multiModule = options.multiModule || false;
options.menuChildOpen = options.menuChildOpen || false;
if (options.multiModule) {
if (!ua.checkMobile()) {
miniMenu.renderMultiModule(options.menuList, options.menuChildOpen);
} else {
miniMenu.renderSingleModule(options.menuList, options.menuChildOpen);
@@ -37,7 +36,6 @@
if (menuChildOpen) childOpenClass = ' layui-nav-itemed';
leftMenuHtml = this.renderLeftMenu(menuList, { childOpenClass: childOpenClass });
$('.layui-layout-body').addClass('layuimini-single-module'); //单模块标识
$('.layuimini-header-menu').remove();
$('.layuimini-menu-left').html(leftMenuHtml);
element.init();
@@ -113,7 +111,7 @@
menuList = menuList || [];
var me = this;
var headerMenuHtml = '',
headerMobileMenuHtml = '',
leftMenuHtml = '',
leftMenuCheckDefault = 'layui-this',
childOpenClass = '',
@@ -138,7 +136,7 @@
childOpenClass: childOpenClass,
leftMenuCheckDefault: leftMenuCheckDefault
});
headerMobileMenuHtml += me.compileMenu({ id: id, menu: menu, id: id, icon: val.icon, title: val.title, }, true);
headerMenuCheckDefault = "";
leftMenuCheckDefault = "layui-hide";
return topMenuItemHtml;
@@ -146,7 +144,7 @@
$('.layui-layout-body').addClass('layuimini-multi-module'); //多模块标识
$('.layuimini-menu-header-pc').html(headerMenuHtml); //电脑
$('.layuimini-menu-left').html(leftMenuHtml);
$('.layuimini-menu-header-mobile').html(headerMobileMenuHtml); //手机
element.init();
},
@@ -221,19 +219,6 @@
element.init();
layer.close(loading);
});
/**
* 手机端点开模块
*/
$('body').on('click', '.layuimini-header-menu.layuimini-mobile-show dd', function () {
var loading = layer.load(0, { shade: false, time: 2 * 1000 });
var check = $('.layuimini-tool [data-side-fold]').attr('data-side-fold');
if (check === "1") {
$('.layuimini-site-mobile').trigger("click");
element.init();
}
layer.close(loading);
});
},
};

View File

@@ -9,7 +9,6 @@
*/
render: function (options) {
options.filter = options.filter || null;
options.multiModule = options.multiModule || false;
options.urlHashLocation = options.urlHashLocation || false;
options.maxTabNum = options.maxTabNum || 20;
options.menuList = options.menuList || []; // todo 后期菜单想改为不操作dom, 而是直接操作初始化传过来的数据
@@ -290,7 +289,7 @@
var tabId = $(this).attr('lay-id');
var id = $(this).attr('id');
var isCurrent = $(this).hasClass('layui-this');
if (id !== 'layuiminiHomeTabId') {
if (id !== 'layuiminiHomeTabId' && id !== 'layuiminiHomeTabIdMobile') {
if (closeType === 'all') {
miniTab.delete(tabId);
} else {
@@ -343,7 +342,7 @@
$('.layuimini-tab .layui-tab-title li').each(function () {
var tabId = $(this).attr('lay-id');
var id = $(this).attr('id');
if (id !== 'layuiminiHomeTabId') {
if (id !== 'layuiminiHomeTabId' && id !== 'layuiminiHomeTabIdMobile') {
if (closeType === 'all') {
miniTab.delete(tabId);
} else {
@@ -366,7 +365,6 @@
*/
listenSwitch: function (options) {
options.filter = options.filter || null;
options.multiModule = options.multiModule || false;
options.urlHashLocation = options.urlHashLocation || false;
options.listenSwichCallback = options.listenSwichCallback || function () { };
element.on('tab(' + options.filter + ')', function (data) {
@@ -382,7 +380,7 @@
$('.layuimini-menu-left').attr('layuimini-tab-tag', 'no');
} else {
$('[layuimini-href]').parent().removeClass('layui-this');
if (options.multiModule) {
if (!ua.checkMobile()) {
miniTab.listenSwitchMultiModule(tabId);
} else {
miniTab.listenSwitchSingleModule(tabId);
@@ -402,12 +400,13 @@
options.maxTabNum = options.maxTabNum || 20;
options.homeInfo = options.homeInfo || {};
options.menuList = options.menuList || [];
if (!options.urlHashLocation) return false;
var tabId = location.hash.replace(/^#/, '');
if (tabId === null || tabId === undefined || tabId === '') return false;
// 判断是否为首页
if (tabId === options.homeInfo.href) return false;
if (tabId === options.homeInfo.href || tabId === options.homeInfo.mb_href) return false;
// 判断是否为右侧菜单
var menu = miniTab.searchMenu(tabId, options.menuList);