`
yiminghe
  • 浏览: 1431572 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

三级菜单选择器

阅读更多

 

 

[置顶] Lite-Ext 适合WebPage的轻量级Ext


google code 持续更新,这里停止


演示@google code  

 

   实现一个这样的功能 , 可以将 树的两层节点 平面显示出来 ,第三级 适时弹出 ,51job 有这个功能,去看了一下 ,发现 51job 是用 table 来实现的 ,不符合标准 ,且不具备伸缩性(任意行列数显示), 就自己 用 ul li 实现了一下 ,打算作为一个基础类库以后加以完善。


ps :  重构了一个页面  通过了 xhtml 1.0 css2.1 验证 ,还不很规范 ,树用在 这里 了

 

 

效果图  (测试代码附件 zip)

425

 

 

 

430

5.0

 

 

5.6

 

6.0

 

 

6.7

 

 

 

7.1

 

 

操作方式和 51job 一样 ,点击 黑字节点 可以弹出 第三级子菜单。

 

 

主要是一个  多选类 ,基础dom操作 采用 extjs-core ,说明先写在代码里了

 

/**
author : yiminghe

version : v4(20090326) 创建项目,原型完成
v4.1(20090326) fix ie7 clear bug 
v4.2(20090328) use display mode to avoid scrollbar
v4.2.5(20090328) modal show and disable level1 selection
v4.3(20090328) level2 show change , level2 and level3 can't be selected simultaneously
v4.5(20090328) 增加将level3弹出框限制在树控件中,提高效率(level3弹出框需要时才创建) 
v5.0(20090329) 界面进行革新优化,支持拖放
v5.1(20090330) 在li上支持点击,单选支持(没有弹出提示框,直接替换),支持第三级菜单拖放,已选择框和树节点框通过相同后缀id联系 
v5.2(20090407) 修改 css html 支持 w3c css2.1 ,修改id生成,可以多颗重复数据树生成
v5.3(20090417) 清理浮动css xhtml整理
v5.5(20090422) 大幅度清除无用生成标签(span div),增加取消回调,已选择部分压缩空间,
v5.6(20090423) 采用ext事件处理机制,抽象出window
v6.0(20090427) 与windowlite 结合,支持拖放,调节大小
v6.5(20090514) javascript 大部分重写,两层区域树结构一次生成添加到DOM,采用事件委托,只设置三组事件处理函数,两层区域,弹出菜单区域,选择区域。
v6.6(20090518) 利用ext的css selector功能修复(6.5之前功能) 选择个数限制,二级三级菜单项不能同时选择,即全部和底下的菜单不能同时选中。
v6.7(20090525) 修复ie7,8显示细节问题,已选择移到下面和按钮临近
v7.0(20090919) 整合windowlite 2.9.8
v7.1(20091009) 界面优化大幅变动,增加操作方便(二级框选择,取消叉与阴影)

Any problem contact hym_sunrise@126.com
**/


ps:事件委托的好处


从6.5开始采用事件委托机制,避免事件处理函数的大量绑定,对系统有很大的效率提升,理论基础:

http://www.nczonline.net/blog/2009/06/30/event-delegation-in-javascript/

 

1.避免陷入大量的事件处理函数的管理之中。

2.事件处理函数的减少意味着更少的内存占用

3.用户代码和dom的联系减少,可以提高系统性能。(dom还是很昂贵的)

4.不用担心用innerHTML冲掉了儿子元素已经绑定的事件处理函数,由父节点处理即可。

 

 

 

 

 

 

 

 

  • 大小: 34.3 KB
  • 大小: 74.1 KB
  • 大小: 77.2 KB
  • 大小: 235.4 KB
分享到:
评论
5 楼 hyfly2006 2011-10-05  
我用的6.6的版本,页面初次加载完的时候,页面底端由很大的一个空白,等窗体弹出后,空白就消失了。
4 楼 hyfly2006 2011-09-29  
放到我的页面后就是乱码了,我页面也是utf-8的,怎么回事?
3 楼 Mystic 2009-06-25  
谢谢 分享
2 楼 yiminghe 2009-05-18  
alonewolf 写道

很好,


多提宝贵意见哦,谢谢
1 楼 alonewolf 2009-05-17  
很好,

相关推荐

Global site tag (gtag.js) - Google Analytics