Layui动态生成导航菜单子菜单不显示解决方法

 今天在使用Layui导航条动态添加的时候,发现动态添加后没有办法再次渲染他的效果,原因未知,但是已经解决了,j经常存在的问题我进行总结,直接贴图看结果

1.正确导入layui.all.js

<script src="../static/layui/layui.all.js"></script>

2.依赖 element 模块

<ul class="layui-nav layui-nav-tree"  lay-filter="test">
    <li class="layui-nav-item layui-nav-itemed">
        <a class="" href="javascript:;">菜单</a>
        <dl class="layui-nav-child">
            <dd><a href="javascript:;">二级菜单1</a></dd>
            <dd><a href="javascript:;">二级菜单2</a></dd>
            <dd><a href="javascript:;">二级菜单3</a></dd>
        </dl>
     </li>
</ul>
<script>
  //注意:导航 依赖 element 模块,在生成动态菜单后添加,否则无法进行功能性操作
  layui.use('element', function(){
    var element = layui.element;
  });
</script>

3.动态渲染的span.layui-nav-bar样式位置不对,动态渲染前先删除,渲染完成后再进行加载

<ul class="layui-nav" id="nav" layui-filter="nav" ></ul>
//在动态加载前删除span.layui-nav-bar
$("#nav").find('span.layui-nav-bar').remove();
$("#nav").append()
for(var o = 0;o<menuList.length;o++){
    var menu = menuList[o];
    var html = '<li class="layui-nav-item layui-col-md1">'+
            '<a class="layui-side-cai"  href="javascript:;">'+menu['name']+'</a>'+
            '<dl class="layui-nav-child biaoji child-left">';
    html += '<ul  class="layui-nav layui-nav-tree">';
    html += '<li class="layui-row">' +
            '<span class="yijia layui-col-md3"  title="'+chirds['name']+'">' +
            '<span class="yijispan">'+
            (typeof menuIcon[chirds.id] == "undefined"?chirds['name']+'</span>':'<img class="caidanimg" src="'+menuIcon[chirds.id]+'"/>'+chirds['name']+'</span>')+
            '    </span>' ;
    html +'</li>';
    html += '</ul>'
    html += '</dl>';
    html += '</li>';       
    $("#nav").append(html)
}
xuanran(); //DOM渲染完成后重新绘制
function xuanran() {
    layui.use('element', function () {
          var element = layui.element;
          var layFilter = $("#nav").attr('lay-filter');
          element.render('nav', layFilter);
    })
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值