思路
- 第一个子菜单点添加表示类class = isFirst
- 因为是动态创建的所有在循环里设置变量isFirst
- 模拟用户点击子菜单事件
文件路径
文件1:static\plugs\lay-module\miniMenu.js
改变文件1的 compileMenu 函数的内容如下:
/** * 渲染一级菜单 */
compileMenu: function(menu,isSub){
var menuHtml = '<li {
{#if( d.menu){ }} data-menu="{
{d.menu}}" {
{#}}} class="layui-nav-item menu-li {
{d.isFirst}} {
{d.childOpenClass}} {
{d.className}}" {
{#if( d.id){ }} id="{
{d.id}}" {
{#}}}> <a class="{
{d.isFirst}}" {
{#if( d.href){ }} layuimini-href="{
{d.href}}" {
{#}}} {
{#if( d.target){ }} target="{
{d.target}}" {
{#}}} href="javascript:;">{
{#if( d.icon){ }} <i class="{
{d.icon}}"></i> {
{#}}} <span class="layui-left-nav">{
{d.title}}</span></a> {
{# if(d.children){}} {
{d.children}} {
{#}}} </li>' ;
if(isSub){
menuHtml = '<dd class="menu-dd {
{d.childOpenClass}} {
{ d.className }}"> <a href="javascript:;" {
{#if( d.menu){ }} data-menu="{
{d.menu}}" {
{#}}} {
{#if( d.id){ }} id="{
{d.id}}" {
{#}}} {
{#if(( !d.child || !d.child.length ) && d.href){ }} layuimini-href="{
{d.href}}" {
{#}}} {
{#if( d.target){ }} target="{
{d.target}}" {
{#}}}> {
{#if( d.icon){ }} <i class="{
{d.icon}}"></i> {
{#}}} <span class="layui-left-nav"> {
{d.title}}</span></a> {
{# if(d.children){}} {
{d.children}} {
{#}}}</dd>'
}
return laytpl(menuHtml).render(menu);
},
改变文件1的 renderLeftMenu 函数的内容如下:
renderLeftMenu :function(leftMenus,options){
options = options || {
};
var me = this ;
var leftMenusHtml = me.each(leftMenus || [],function (idx,leftMenu) {
// 左侧菜单遍历
var children = me.renderChildrenMenu(leftMenu.child, {
childOpenClass:options.childOpenClass });
if(idx === 0){
//hjy
var isFirst = 'isFirst';
}else{
var isFirst = 'noFirst';
}
var leftMenuHtml = me.compileMenu({
href:leftMenu.href,
target:leftMenu.target,
childOpenClass:options.childOpenClass,
icon:leftMenu.icon,
title:leftMenu.title,
children:children,
className: '',
isFirst:isFirst,
});
return leftMenuHtml ;
}).join("");
leftMenusHtml = me.compileMenuContainer({
id:options.parentMenuId,className:options.leftMenuCheckDefault,children:leftMenusHtml }) ;
return leftMenusHtml ;
},
然后在文件1的 listen 函数结尾的倒数第四行添加如下代码:
$("#" + menuId + " .menu-li .isFirst").trigger("click");
理论上可以直接复制我上面写的完整的函数代码,以成功实现。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/34635.html