tree前端实现

本文详细介绍了如何利用jQuery将静态数据导入WebContent包,并创建tree控件作为菜单管理。通过js文件加载数据,点击左侧菜单时在右侧以选项卡形式展示对应内容。同时,优化了代码以避免重复打开相同页面,并实现了点击菜单跳转到对应的页面。内容包括添加事件监听、新建页面、使用tabs选项卡以及处理重复页面的问题。
摘要由CSDN通过智能技术生成

一、目标

本期内容需要完成以下图片的样式:

那让我们继续上一篇内容操作!!!

二、演示

1、将静态数据导入WebContent包中

 

 2、在界面对应的地方写入tree控件代码,也就是此项目的菜单管理

        树控件也可以定义在一个空<ul>元素中并使用Javascript加载数据。

 也就是↓:

 3、在js文件中建立File文件(index.js),用于加载数据,界面jsp引入数据js

 js文件:

$(function(){

/**

 * 1、tree方法时通过$.extends()扩展出来的

 * 2、tree方法做的事情

 *  $('#tt').append();

 */

$('#tt').tree({    

    url:'tree_data1.json'   

});  

})

jsp需要将js引入进来:

<script type="text/javascript" src="${pageContext.request.contextPath}/static/js/index.js"></script>

也就形成了↓界面:

 4、点击左侧显示右侧Tab

(1、给菜单添加点击事件

(2、新建对应的打开页面

(3、调用tabs选项卡打开对应的页面

        ①、在数据文件中添加跳转页面

        ②、将tabs控件代码放入主界面对应位置,如下,放到内容区域

         ③、添加新的选项卡面板,也就是点击左侧菜单内容出现面板

$('#stuMenu').tree({    

    url:'tree_data1.json',

    onClick: function(node){

// alert(node.text);  // 在用户点击的时候提示

// add a new tab panel    

$('#s').tabs('add',{    

    title:node.text,    

    content:node.text+'Tab Body',    

    closable:true,    

    tools:[{    

        iconCls:'icon-mini-refresh',    

        handler:function(){    

            alert('refresh');    

        }    

    }]    

});  

    }

});  

       ④、上面打开了重复的页面,进行优化:

                拿到目前所有打开的tabs选项卡,与将要打开的选项卡做对比(exists)

$('#stuMenu').tree({    

    url:'tree_data1.json',

    onClick: function(node){

// alert(node.text);  // 在用户点击的时候提示

// add a new tab panel

//      判断当前将要打开的选项卡是否存在

     var exists=$('#stuTabs').tabs('exists',node.text);

     if(exists){

    

     }else{

     $('#stuTabs').tabs('add',{    

    title:node.text,    

    content:node.text+'Tab Body',    

    closable:true,    

    tools:[{    

        iconCls:'icon-mini-refresh',    

        handler:function(){    

            alert('refresh');    

        }    

    }]    

});  

     }

    }

});  

解决:不能重复打开页面,但点击不会跳转到已有的页面

        在上面if判断中,如果存在页面添加以下代码:

$('#stuTabs').tabs('select',node.text);

        ⑤、点击菜单跳转对应的页面:改变js界面方法的content添加iframe标签

  content:'<iframe width="100%" height="100%" src="'+node.attributes.url+'"></iframe>',  

这期内容结束~ 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值