zoukankan      html  css  js  c++  java
  • H+后台UI框架,单击按钮增加新的选项卡

    问题:

      使用H+时,发现单击按钮不能打开新的选项卡,新页面会直接替换掉原先的页面

    经查需要自己写方法:

      一种是直接在页面中增加js方法(我采用的);

      另一种是修改contabs.js文件(参考:https://blog.csdn.net/wanghwang2008/article/details/80373679,但我使用未实现)

    需求:

      如图,单击后方的查看按钮,查看该行的数据对比详情页面。

    解决:

      在需要调用的页面增加该js函数:

    // 打开新页面
    // 打开自定义新选项卡:<a href="#" οnclick="openTabPage('url', '自定义标题')">test</a>
    // 打开系统选项卡:<a href="#" οnclick="openTabPage('url')">查看提现记录</a>
    function openTabPage(url, title) {
        var wpd = $(window.parent.document);
        var mainContent = wpd.find('.J_mainContent');
        var thisIframe = mainContent.find("iframe[data-id='"+ url +"']");
        var pageTabs = wpd.find('.J_menuTabs .page-tabs-content ')
        pageTabs.find(".J_menuTab.active").removeClass("active");
        mainContent.find("iframe").css("display", "none");
        if(thisIframe.length > 0){    // 选项卡已打开
            thisIframe.css("display", "inline");
            pageTabs.find(".J_menuTab[data-id='"+ url +"']").addClass("active");
        }else{
            var menuItem = wpd.find("a.J_menuItem[href='"+ url +"']");
            var dataIndex = title == undefined ? menuItem.attr("data-index") : '9999';
            var _title = title == undefined ? menuItem.find('.nav-label').text() : title;
            var iframe = '<iframe class="J_iframe" name="iframe'+ dataIndex +'" width="100%" height="100%" src="' + url + '" frameborder="0" data-id="' + url
                    + '" seamless="" style="display: inline;"></iframe>';
            pageTabs.append(
                    ' <a href="javascript:;" class="J_menuTab active" data-id="'+url+'">' + _title + ' <i class="fa fa-times-circle"></i></a>');
            mainContent.append(iframe);
            //显示loading提示
            var loading = top.layer.load();
            mainContent.find('iframe:visible').load(function () {
                //iframe加载完成后隐藏loading提示
                top.layer.close(loading);
            });
        }
            
    }

    调用时传递url和新选项卡title就行了

    <a href='javascript:;' class='btn btn-xs blue' onclick="openTabPage('/comparison/comp_case_detail?case_id=" + row.id + "','数据对比详情')" title='详情'><span class='glyphicon glyphicon-search'></span></a>
  • 相关阅读:
    【CITE】当类库项目中无法使用Application.StartupPath的时侯 (注:主要是在进行反射读取文件的时候!!)
    设置pictureBox的边框颜色
    怎么在Form1调用Form2中的成员?
    【CITE】DrawImage方法详解(转)
    Python-正则表达式实现计算器功能
    Python-面向对象进阶
    Python基础-封装与扩展、静态方法和类方法
    Python基础-接口与归一化设计、抽象类、继承顺序、子类调用父类,多态与多态性
    Python基础-继承与派生
    Python基础-月考
  • 原文地址:https://www.cnblogs.com/gcgc/p/12156037.html
Copyright © 2011-2022 走看看