找回密码
 注册成为天翎用户
查看: 3000|回复: 10

[已解决] 如何跳转并打开菜单栏

[复制链接]
wizool 发表于 2018-6-2 16:29:11 | 显示全部楼层 |阅读模式
本帖最后由 Chain 于 2018-6-6 14:28 编辑

要求:自定义页面,点击模块跳转平台框架,是,打开菜单栏
w0.jpg

w2.jpg

qq:1473508077
tel:18888300623
Jilong 发表于 2018-6-4 16:28:48 | 显示全部楼层
http://www.teemlink.com/bbs/foru ... read&tid=236454  参考如下帖子看是否可以解决你的问题  或者再具体的说一下你的需求
回复

使用道具 举报

 楼主| wizool 发表于 2018-6-4 16:32:26 | 显示全部楼层
这个函数我用了,它只能打开二级菜单,三级菜单打不开
回复

使用道具 举报

 楼主| wizool 发表于 2018-6-4 16:33:57 | 显示全部楼层
m0.jpg
回复

使用道具 举报

 楼主| wizool 发表于 2018-6-4 16:36:17 | 显示全部楼层
m1.jpg

这是我自己点开的
回复

使用道具 举报

 楼主| wizool 发表于 2018-6-4 16:36:46 | 显示全部楼层
像素质评价,二级菜单就能打开
回复

使用道具 举报

Jilong 发表于 2018-6-4 17:33:54 | 显示全部楼层
晚一点测试一下回复你
回复

使用道具 举报

 楼主| wizool 发表于 2018-6-6 09:45:43 | 显示全部楼层
//新增或激活tab
                addTab : function(id, label, url){
                        var template = {
                                        tab : "<li data-id='#"+"{id}'><a href='#"+"{href}' data-url='#"+"{url}'><div class='status-box'><span class='status'>" + current_page + "</span></div>" +
                                                        "<div class='nav-title'>#" + "{label}</div></a>" +
                                                        "<iframe data-render='false' frameborder='no' border='0' marginwidth='0' marginheight='0'></iframe>" +
                                                        "<span class='glyphicon glyphicon-remove'></span></li>",
                                        tabPic : "<li data-id='#"+"{id}'><a href='#"+"{href}' data-url='#"+"{url}'><div class='status-box'>"
                                                        +"<span class='status'>" + current_page + "</span></div><div class='nav-title'>#" + "{label}</div></a>"
                                                        +"<img src='#" + "{pic}' style='width: 100%;height: 100%;'>"
                                                        +"<span class='glyphicon glyphicon-remove'></span></li>",
                                        nav : "<li class='navbar-tabs-item' data-id='#"+"{id}'>"
                                                        +"<a class='tab-btn-title' data-id='#"+"{id}' data-url='#"+"{url}'><div class='nav-title'>#"+"{label}</div></a>"
                                                        +"<a class='tab-btn-close'><i class='fa fa-times'></i></a></li>",       
                                }
                        var $tabs = $("#tabs");
                        var $tabsPreview = $("#tabsPreview");
                        var $tabsNavBar = $("ul.navbar-tabs-ul");
                        var $active = $tabsPreview.find("[href*='#" + id + "']");
                        //如果id已经添加,则选中
                        if ($active.size() > 0) {
                                $tabs.find("#"+ id + ">iframe").attr("src",url);
                        } else {
                                var $previewItem = "";
                                var $navItem = "";
                                if(id == "tabs_pm_task" || id == "tabs_pm_project" || id == "tabs_pm_label"){
                                        var pic = "../share/images/logo/tab-pm.jpg";
                                        $previewItem = $(template.tabPic.replace(/#\{href\}/g,"#" + id)
                                                        .replace(/#\{label\}/g, label)
                                                        .replace(/#\{url\}/g, url)
                                                        .replace(/#\{id\}/g, id)
                                                        .replace(/#\{pic\}/g, pic));
                                        $navItem = $(template.nav.replace(/#\{id\}/g, id).replace(/#\{label\}/g, label).replace(/#\{url\}/g, url));
                                }else if(id == "tabs_qm_homepage" || id == "tabs_qm_center"){
                                        var pic = "../share/images/logo/tab-qm.jpg";
                                        $previewItem = $(template.tabPic.replace(/#\{href\}/g,"#" + id)
                                                        .replace(/#\{label\}/g, label)
                                                        .replace(/#\{url\}/g, url)
                                                        .replace(/#\{id\}/g, id)
                                                        .replace(/#\{pic\}/g, pic));
                                        $navItem = $(template.nav.replace(/#\{id\}/g, id).replace(/#\{label\}/g, label).replace(/#\{url\}/g, url));
                                }else{
                                        $previewItem = $(template.tab.replace(/#\{href\}/g,"#" + id)
                                                        .replace(/#\{label\}/g, label)
                                                        .replace(/#\{id\}/g, id)
                                                        .replace(/#\{url\}/g, url));
                                        $navItem = $(template.nav.replace(/#\{id\}/g, id).replace(/#\{label\}/g, label).replace(/#\{url\}/g, url));
                                }
                                var $contentIframe = $("<div class='tabs-item-wrapper fadeInRightMain animated tab-pane' "
                                                                         +"style='z-index:2;position: relative;background: #f6f7fb;' id='" + id + "' >"
                                                                         +"<iframe src='" + url + "' _tags='window' frameborder='no' "
                                                                         +"border='0' marginwidth='0' marginheight='0' height='100%' width='100%'>" +
                                                                         +"</iframe></div>");
                               
                                $tabsNavBar.append($navItem);
                                $tabs.append($contentIframe);
                                $tabsPreview.find(".tabs-preview-panel").append($previewItem);
                        }
                        Main.Util.activePanel(id);
                        Main.Util.tabOrder(id,Main.Config.tabStack,"add");
                        Main.Util.navTabRefresh();
                },
回复

使用道具 举报

 楼主| wizool 发表于 2018-6-6 09:47:02 | 显示全部楼层
这个方法是否有问题,这是你们js文件中的,js文件路径:portal\H5\resource\js\obpm.main.core.js
回复

使用道具 举报

 楼主| wizool 发表于 2018-6-6 14:11:08 | 显示全部楼层
已处理,可以结贴了,
打开三级菜单栏逻辑如下:
已三级三级菜单日程管理为例
传值id,菜单的id
第一步,日程管理 li 标签的元素对象,li 的属相tabid等于id

第二部,获取li标签的父元素ul,ul的class属相添加 in ,aria-expanded值改为true,styl属性为空

第三部,与ul元素并列的a元素class属性去掉 collapse,aria-expanded值改为true

第四部,获取ul父标签li的父标签ul元素对象,class属相添加 in ,aria-expanded值改为true,styl属性为空

第五步,与ul元素并列的a元素class属性去掉 collapse,aria-expanded值改为true


js代码如下:
function openMenu(id){
        var lis=document.getElementsByTagName("li");
        for (var i=0;i<lis.length;i++) {
                var li=lis[i];
                var tabid=li.getAttribute("tabid");
                if(tabid==id){
                        var lipul=li.parentNode;
                        lipul.classList.add("in");
                        lipul.setAttribute("aria-expanded","true");
                        lipul.style.cssText="";
                        var lipulli=lipul.parentNode;
                        var lia=lipulli.firstElementChild;
                        lia.classList.remove("collapse");
                        lia.setAttribute("aria-expanded","true");
                       
                        var pul=lia.parentNode.parentNode;
                        pul.classList.add("in");
                        pul.setAttribute("aria-expanded","true");
                        pul.style.cssText="";
                        var lipulliul=lipul.parentNode;
                        var liaa=lipulliul.firstElementChild;
                        liaa.classList.remove("collapse");
                        liaa.setAttribute("aria-expanded","true");
                       
                }
        }
}
自定义页面跳转平台是,在使用方法Main.renderTabs.addTab(menuid, menuname, menupath)后,在调用此方法打开菜单
回复

使用道具 举报

本版积分规则

手机版|天翎MyApps技术社区 ( 粤ICP备11093750号 )

GMT+8, 2026-8-14 00:13

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表