|
这个更新会增加到FineUI v4.0 中,代码已经提交,感兴趣的网友可以自行下载:https://fineui.codeplex.com/SourceControl/list/changesets
关键代码:
1. default.aspx中的JS:
- <script>
- var mainTabStripClientID = '<%= mainTabStrip.ClientID %>';
- F.ready(function () {
- window.mainTabStrip = F(mainTabStripClientID);
- var menuLis = $('.menu ul li');
- function updateLeftMenu(menuType) {
- menuLis.removeClass('selected');
- menuLis.filter('.menu-' + menuType).addClass('selected');
- window.frames['leftframe'].location.href = './leftmenu.aspx?menu=' + encodeURIComponent(menuType);
- }
- // 点击顶部菜单,加载左侧IFrame菜单
- menuLis.click(function (e) {
- var $this = $(this);
- var classNames = /menu\-(\w+)/.exec($this.attr('class'));
- if (classNames.length == 2) {
- var menuType = classNames[1];
- updateLeftMenu(menuType);
- }
- });
- // 根据页面的Hash值,来初始化左侧IFrame菜单
- var hash = window.location.hash;
- var hashArray = /.+\/html\/(.+)\-\d+\.html/.exec(hash);
- if (hashArray && hashArray.length === 2) {
- updateLeftMenu(hashArray[1]);
- }
- });
- </script>
复制代码
2. leftmenu.aspx 中的JS:
- <script>
- var leftTreeID = '<%= leftTree.ClientID %>';
- F.ready(function () {
- // 展开树的第一个节点,并选中第一个节点下的第一个子节点(在右侧IFrame中打开)
- var tree = F(leftTreeID);
- var treeFirstChild = tree.getRootNode().firstChild;
- // 展开第一个节点(如果想要展开全部节点,调用 tree.expandAll();)
- treeFirstChild.expand();
- // 初始化主框架中的树(或者Accordion+Tree)和选项卡互动,以及地址栏的更新
- // treeMenu: 主框架中的树控件实例,或者内嵌树控件的手风琴控件实例
- // mainTabStrip: 选项卡实例
- // addTabCallback: 创建选项卡前的回调函数(接受tabConfig参数)
- // updateLocationHash: 切换Tab时,是否更新地址栏Hash值
- // refreshWhenExist: 添加选项卡时,如果选项卡已经存在,是否刷新内部IFrame
- // refreshWhenTabChange: 切换选项卡时,是否刷新内部IFrame
- // hashWindow:需要更新Hash值的窗口对象,默认为当前window
- F.util.initTreeTabStrip(tree, parent.mainTabStrip, null, true, false, false, parent);
- });
- </script>
复制代码
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
|