layui后台框架点击子页面按钮时添加顶部tap栏

layui后台框架点击子页面按钮时添加顶部tap栏

1.封装的子页面代码

  function addtap(ele){
        layui.use(['jquery', 'element', 'layer'], function() {
                var $ = layui.jquery, element = layui.element, layer = layui.layer;
                // $('.layui-tab-content').height($(window).height() - 145);
                var tab = {
                    add: function(title, url, id) {
                    window.parent.layui.element.tabAdd('hisiTab', {
                            title: title,
                            content: '<iframe width="100%" height="100%" lay-id="'+id+'" frameborder="0" src="'+url+'" scrolling="yes" class="x-iframe"></iframe>',
                            id: id
                        });
                    }, change: function(id) {
                        window.parent.layui.element.tabChange('hisiTab', id);
                    }
                };
                $(ele).click(function(event) {
                    var that = $(this), iframe = $('iframe[src="'+that.attr('href')+'"]');
                    let istap=false;
                    $.each($(".layui-tab-title li[lay-id]",window.parent.document),function(){
                        // console.log("tap栏id",$(this).attr("lay-id"));
                        // console.log("按钮id",that.attr("data-id"));
                        if($(this).attr("lay-id")==that.attr("data-id")){
                            istap=true
                        }
                    })
                    console.log(istap);
                    if(istap){
                            iframe.prop('src', iframe.attr('src'));
                              tab.change(that.attr('data-id'));
                                event.stopPropagation();
                                return false;
                    }
                    // if (iframe[0]) {
                    //     iframe.prop('src', iframe.attr('src'));
                    //     tab.change(that.attr('data-id'));
                    //     event.stopPropagation();
                    //     return false;
                    // }

                    // if (!that.hasClass('top-nav-item')) {
                    //     that.css({color:'#fff'});
                    // }
                    tab.add(that.text(), that.attr('href'), that.attr('data-id'));
                    tab.change(that.attr('data-id'));
                    event.stopPropagation();
                    return false;
                });

                // $(document).on('click', '.layui-tab-close', function() {
                //     $('.layui-nav-child a[data-id="'+$(this).parent('li').attr('lay-id')+'"]').css({color:'rgba(255,255,255,.7)'});
                // });
            });
    }
      function deltap(ele,close=""){
        layui.use(['jquery', 'element', 'layer'], function() {
                var $ = layui.jquery, element = layui.element, layer = layui.layer;
                // $('.layui-tab-content').height($(window).height() - 145);
                var tab = {
                  tabDelete: function(othis){
                        //删除指定Tab项
                        window.parent.layui.element.tabDelete('hisiTab', othis);
                    }
                };
                $(ele).click(function(event) {
                     tab.tabDelete(close);
                });
            });
    }
  • 如果需要在子页面点击关闭按钮时控制关闭当前tap,调用deltap(el,id)传入类名与要关闭的id*

2.调用方法(传入类名即可)

<script src="/static/js/addtap.js"></script>
<script type="text/javascript">
   addtap('.zdybnt')
</script>

注意:按钮上需要携带的参数为下面这样,需要携带data-id与href,标签无所谓

<button data-id="12354" class="zdybnt" href="/admin.php/jigou/staff/index.html">打开新页面</button>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值