TableTree4J的全结点展开, 显示居中以及Array.prototype
来源:互联网 发布:淘宝上架时间周期 编辑:程序博客网 时间:2024/06/05 23:23
最近两个月在某国有银行的软件中心实习, 开发使用的是公司自有的框架, 不过主体还是Spring+iBATIS.
项目中有一个全景图展示的功能, 需要按菜单树的形式展示, 本来想做瀑布式的, 但是没有找到现成的例子, 所以只能做成横着的.
(有知道怎么做瀑布式的小伙伴请一定评论此博客告诉我哦!)
网上搜索到很多种做菜单树的开源JS项目, 在其中我挑选了TableTree4J来实现.
不过我是一个JS菜鸟, 没有系统的学习过, 也许只是一些很简单的问题, 但我确实也花了很多时间研究demo和它的API.
下载在http://sourceforge.net/projects/tabletree4j/
本文记录3个做此功能时遇到的难点:
1.全结点展开
首先有一个jsonData
jsonData= function(){jsoninitNodes=[请在这里写入对应格式的JSON];}这时你应该配置他, 并build了, 在build完之后执行下面的
var nodes = new jsonData().jsoninitNodes;var tmpNode=null;for(var i=0, n=nodes.length;i<n;i++){tmpNode=nodes[i];panoramaGirdTree.toggleNodeById(nodes[i].id);}
其中, nodes获得全部的结点
toggleNodeById按着id来一个个触发点击效果, 即展开
请不要使用API中通过cookies传递展开的方法, 目录条目多时, cookie不够写
2.菜单树显示居中
这也是一个头疼的问题, 因为render的那个div中, 菜单树总是靠左对齐的...
首先我的div是这样的:
<div id="panorama" class="content"style="float:left; width:auto;"></div>
然后tabletree4j.css需要改成这样
.tabletree4j-menu { border: none; border-collapse: collapse;width:auto;}
原来的width:100% 要改成auto, 这个是每个条目的宽度, 只有设成auto的时候, 这个div才会保持最小宽度, 这样后面才能获取他和父div的宽度差
接着你需要按上面的方法展开全部节点以确定宽度
最后, 使用JS, 通过计算来设置这个div的左右margin即可(获取本身宽度, 获取父div宽度,相减除二)
3.Core4j.js中Array.prototype的影响
这个prototype修改后, 会影响到所有使用数组的地方
注释掉这部分对prototype的修改, 同时阉割掉TableTree4j中和select有关的功能即可
- TableTree4J的全结点展开, 显示居中以及Array.prototype
- TableTree4J
- swing展开所有的结点
- mxGraph全图居中显示
- treeview展开指定层的结点
- treeview展开指定层的结点
- TreeViewer双击展开树的孩子结点
- android使用zxing扫描界面全是白色以及更改显示文字屏幕居中
- Array.prototype.filter()的实现
- Array.prototype.map()的用法
- gridview的表头垂直居中以及表头多行显示
- 盒子垂直居中显示以及position的属性值问题
- Array.prototype
- 居中显示的div
- 背景图片的居中显示
- 居中显示的Toast
- 图片的居中显示
- flex的居中显示
- poj3974 Palindrome 字符串
- 笔试中常用的计算公式,排列与组合
- codeforces 之 C. String Manipulation 1.0
- ubuntu14.04 禁用unity
- windows xp 环境下安装theano
- TableTree4J的全结点展开, 显示居中以及Array.prototype
- 涉足计算机视觉领域要知道的~ (part2)
- Share folder or printer without password in Windows 7
- COM技术内幕 读书笔记——第一章 组件
- C++ primer 第五版 中文版 练习 12.19 个人code
- spring的xml配置与annotation注解混合
- eclipse设置java虚拟机内存大小
- 第三方网站使用qq登录
- 数据库表删除之drop table xxx (某公司实习生招聘笔试试题)