资讯专栏INFORMATION COLUMN

layui实现左侧菜单点击右侧内容区显示

AWang / 845人阅读

摘要:这个前端框架对后端人员来说提供了极大的方便,很大一部分同学在刚接触到这个框架就迫不及待的要动手实践了,刚好最近需要开发一个后台管理项目,就拿来进行学习和实践还没有接触到的同学可以先通读一遍文档,这样在遇到问题的时候才能够对症下药,仔细研究相

layui这个前端框架对后端人员来说提供了极大的方便,很大一部分同学在刚接触到这个框架就迫不及待的要动手实践了,刚好最近需要开发一个后台管理项目,就拿layui来进行学习和实践.

还没有接触到的同学可以先通读一遍文档,这样在遇到问题的时候才能够对症下药,仔细研究相关的板块
今天我们先来学习一下使用layui来实现左侧点击菜单,内容区显示tab

实验效果

实现过程

html代码




    
    
    
    <?php echo $curTitle;?>
    


    javascript代码:

        layui.use(["element", "layer", "jquery"], function () {
            var element = layui.element;
            // var layer = layui.layer;
            var $ = layui.$;
            // 配置tab实践在下面无法获取到菜单元素
            $(".site-demo-active").on("click", function () {
                var dataid = $(this);
                //这时会判断右侧.layui-tab-title属性下的有lay-id属性的li的数目,即已经打开的tab项数目
                if ($(".layui-tab-title li[lay-id]").length <= 0) {
                    //如果比零小,则直接打开新的tab项
                    active.tabAdd(dataid.attr("data-url"), dataid.attr("data-id"), dataid.attr("data-title"));
                } else {
                    //否则判断该tab项是否以及存在
                    var isData = false; //初始化一个标志,为false说明未打开该tab项 为true则说明已有
                    $.each($(".layui-tab-title li[lay-id]"), function () {
                        //如果点击左侧菜单栏所传入的id 在右侧tab项中的lay-id属性可以找到,则说明该tab项已经打开
                        if ($(this).attr("lay-id") == dataid.attr("data-id")) {
                            isData = true;
                        }
                    })
                    if (isData == false) {
                        //标志为false 新增一个tab项
                        active.tabAdd(dataid.attr("data-url"), dataid.attr("data-id"), dataid.attr("data-title"));
                    }
                }
                //最后不管是否新增tab,最后都转到要打开的选项页面上
                active.tabChange(dataid.attr("data-id"));
            });
    
            var active = {
                //在这里给active绑定几项事件,后面可通过active调用这些事件
                tabAdd: function (url, id, name) {
                    //新增一个Tab项 传入三个参数,分别对应其标题,tab页面的地址,还有一个规定的id,是标签中data-id的属性值
                    //关于tabAdd的方法所传入的参数可看layui的开发文档中基础方法部分
                    element.tabAdd("demo", {
                        title: name,
                        content: "",
                        id: id //规定好的id
                    })
                    FrameWH();  //计算ifram层的大小
                },
                tabChange: function (id) {
                    //切换到指定Tab项
                    element.tabChange("demo", id); //根据传入的id传入到指定的tab项
                },
                tabDelete: function (id) {
                    element.tabDelete("demo", id);//删除
                }
            };
            function FrameWH() {
                var h = $(window).height();
                $("iframe").css("height",h+"px");
            }
        });

    实现逻辑:动态判断所点击的菜单元素,利用元素上设置的data属性值,在右侧内容区生成页面iframe进行动态显示
    参考文献:layui官网

    文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

    转载请注明本文地址:https://www.ucloud.cn/yun/94647.html

    相关文章

    • layui实现左侧菜单点击右侧内容显示

      摘要:这个前端框架对后端人员来说提供了极大的方便,很大一部分同学在刚接触到这个框架就迫不及待的要动手实践了,刚好最近需要开发一个后台管理项目,就拿来进行学习和实践还没有接触到的同学可以先通读一遍文档,这样在遇到问题的时候才能够对症下药,仔细研究相 layui这个前端框架对后端人员来说提供了极大的方便,很大一部分同学在刚接触到这个框架就迫不及待的要动手实践了,刚好最近需要开发一个后台管理项目,...

      zhangyucha0 评论0 收藏0
    • vue keep-alive实现动态缓存以及缓存销毁

      摘要:实现动态缓存以及缓存销毁需求来源及描述后台管理系统中,左侧为功能菜单栏,点击菜单列表,右侧显示该菜单的功能页面,本来是一个非常简单的后台管理系统布局,现在增加了菜单按钮点击左侧菜单栏时,右侧页面头部显示当前的页面标题,形成一个列表,点击可 vue keep-alive实现动态缓存以及缓存销毁 需求来源及描述 后台管理系统中,左侧为功能菜单栏,点击菜单列表,右侧显示该菜单的功能页面,本来...

      littleGrow 评论0 收藏0
    • 默认隐藏左侧菜单的方法

      摘要:公司一项目需要默认隐藏框架的左侧菜单,遇到了一些问题,下面简要记录问题的解决过程,以备后续查看参考。这种情况应该是获取默认菜单的时机不对,应该在左侧菜单切换完成后获取。在菜单绑定的单击方法中,左侧菜单的内容并没有完成刷新。 公司一项目需要默认隐藏框架的左侧菜单,遇到了一些问题,下面简要记录问题的解决过程,以备后续查看、参考。 初 这个问题看似很简单,只需要找到对应的js和css,设置左...

      darkerXi 评论0 收藏0
    • 20180308_vue-router前端权限控制问题

      vue-router前端权限控制问题前提纲要:1.用户A和用户B有不同的权限。 页面分左侧菜单部分和右侧内容部分,右侧内容可能有不同路径的不同内容 最简单例子为点击左侧用户管理 右侧显示用户列表 点击某条内容详情 右侧显示某一用户的详细内容 2.用户A可以访问路径权限如下: a/list a/detail/:id a/list/:id 用户B可以访问路径权限如下: ...

      阿罗 评论0 收藏0

    发表评论

    0条评论

    最新活动
    阅读需要支付1元查看
    <