IT俱乐部 HTML5 使用layui实现左侧菜单栏及动态操作tab项的方法

使用layui实现左侧菜单栏及动态操作tab项的方法

首先说一下左侧菜单栏

这是一个最基本的左侧菜单栏,实现的过程很简单,官方的说明文档就有,但是我在导入layer.js之后,直接复制这段官方代码到我的编辑器上时,发现页面是这样的:

发现,绑定属性的菜单并没有下拉选项,这个问题在我导入layer.all.js之后解决了,而且发现如果是在页面的最上方导入的话也没有下拉选项,只有在html代码下面导入,才可以显示 ,不知道是什么原因

下面说重点,动态操作tab项

页面截图:

tab项右键菜单:

这里右键菜单的样式并没有做太多的美化。

html代码:(页面中关于引入js和css文件的部分被我省略了,还有要注意jQuery的引入顺序)

 

js代码:

layui.use('element', function() {
            var $ = layui.jquery;
            var element = layui.element; //Tab的切换功能,切换事件监听等,需要依赖element模块

            //触发事件
            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
                    })
                     CustomRightClick(id); //给tab绑定右击事件
                     FrameWH();  //计算ifram层的大小
                },
                tabChange: function(id) {
                    //切换到指定Tab项
                    element.tabChange('demo', id); //根据传入的id传入到指定的tab项
                }, 
                tabDelete: function (id) {
                element.tabDelete("demo", id);//删除
                }
                , tabDeleteAll: function (ids) {//删除所有
                    $.each(ids, function (i,item) {
                        element.tabDelete("demo", item); //ids是一个数组,里面存放了多个id,调用tabDelete方法分别删除
                    })
                }
            };


            //当点击有site-demo-active属性的标签时,即左侧菜单栏中内容 ,触发点击事件
            $('.site-demo-active').on('click', function() {
                var dataid = $(this);

                //这时会判断右侧.layui-tab-title属性下的有lay-id属性的li的数目,即已经打开的tab项数目
                if ($(".layui-tab-title li[lay-id]").length 

tab项是放在

这个div中的,其中有一个重要的属性lay-filter,在js中调用的tabAdd,tabDelete等多种方法都携带了这个参数,我对此的理解是相当于一个判断拦截功能,将tab项放在lay-filter=‘demo’的div中。可以借助该参数,完成指定元素的局部更新。

其中还有关于element的操作,var element = layui.element
element模块的实例
返回的element变量为该实例的对象,携带一些用于元素操作的基础方法,我们就是用这些方法进行tab项的新增和删除还有切换。

这是element 中的tabAdd方法,其中的content可以是一个iframe页面,在此例中,我就是传递了一个简单的页面,这就实现了不同页面间的一些切换。

element.tabAdd('demo', {
  title: '选项卡的标题'
  ,content: '选项卡的内容' //支持传入html
  ,id: '选项卡标题的lay-id属性值'
});

贴上之前参照的一个地址:https://www.cnblogs.com/zhoushangwu/p/7891543.html

到此这篇关于使用layui实现左侧菜单栏及动态操作tab项的方法的文章就介绍到这了,更多相关layui动态操作tab项内容请搜索IT俱乐部以前的文章或继续浏览下面的相关文章,希望大家以后多多支持IT俱乐部!

相关文章

最新评论

本文收集自网络,不代表IT俱乐部立场,转载请注明出处。https://www.2it.club/navsub/html5/13708.html
上一篇
下一篇
联系我们

联系我们

在线咨询: QQ交谈

邮箱: 1120393934@qq.com

工作时间:周一至周五,9:00-17:30,节假日休息

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部