`
无尘道长
  • 浏览: 161101 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

自己实现的基于jquery的UI组件库

阅读更多

  在上一家单位做软件开发平台(2012年前的事了),一做就是近5年时间,在离开的最后一段时间,中心觉得应该做一个自己的jquery UI组件库,但是团队中没有NX的JS高人,要招一个合适的做过JS UI组件库的同学实在太难,似乎我的JS水平比他们略高一些,加上我比较好学,喜欢专研技术,不怕苦(自己夸一下自己-:)),因此这个重担就落在我的头上了。

 

  由于之前对js、html、css掌握的不是很好,因此买了若干书,边看边练,做了不少练习和总结,然后开始组建团队并集中培训,在具体设计前,调研了EXT、Jquery UI、Dorado、YUI、easyUI,甚至包括SAP的Web Dynpro,最后决定基于jquery和jquery UI,在jquery UI上进行扩展,实现Grid、Tree等组件,这个项目从准备、需求到设计、实现最后形成可演示的Demo,总共花了半年时间。

 

  我在上家公司虽然从一线开发做到team leader、开发经理,最终负责整个开发平台(20多人的规模),但是没有做过从一无所有到出成果的这么一个项目,从始至终,需求、设计、开发等等完全由自己控制,因此想做好的愿望尤为强烈(从那时开始养成做事情就想做好的习惯),有了愿望就累了,除了我规定的项目团队每周必须加3天班外,我自己在家周末也会加班。

 

  这个项目,我搭好了框架,并自己实现了最复杂的表格组件Grid,最后形成了演示Demo后,由于公司合并等原因导致项目终止,后来我也离开了这个呆了近5年的公司,这已经过了2年时间了,经常还想起当初做的这个UI组件库,总想为它做点什么,今天实在是忍不住,就写一篇blog,表达一下心情吧,并把我的这个项目源码奉上,有想了解grid实现原理或者想自己开发Ui组件库的同学可以下来看看,或许对你有少许帮助,需要说明的是:

  1. 该项目是一个2年前被公司stop的项目,早已被公司抛弃,因此可以公开出来;
  2. 这个项目由于自己和团队的js水平有限,有些用法应该不是最佳实践,而且项目还有一些收尾工作需要做,没有达到产品级;
  3. 源码里面有些组件是直接使用的jquery UI的组件,各种原因,我直接把名字改成了项目名称,很无耻,但是没有办法;
  4. 如果使用chrome等对iframe访问本地文件有安全限制的浏览器查看demo时需要把项目部署到web容器中,通过浏览web项目的方式查看demo效果。

  附上一些界面的截图:

  1、演示demo主欢迎界面

   

 2、html组件

   

3、树型组件

 

4、Grid组件

  Grid组件的主要实现逻辑:

  1、渲染前:

      a、分析用户配置项options:主要是列定义columns属性;列数据data属性等

      b、计算Grid界面的布局信息,比如:Grid的宽、高、布局div的top值等

      c、准备模板

   2、渲染:

       a、传给jquery的jtemplates模板插件模板和模板数据(数据、布局信息等)在浏览器中渲染出Grid表格

   3、渲染后:

       a、对Grid渲染后的界面进行补充处理,比如:对Grid进行隔行换色、检查是否需要出现滚动条等

       b、为Grid组件绑定事件处理器

  Grid的渲染分两部分进行:非body部分(标题栏、列头、查询输入框等),body部分(展示数据的区域),非body部分在body部分之前渲染。

 

  Grid组件部分截图如下:


 



 

 

 



 



 



 



 



 



 



 



 



 

 

最后附上源代码,由于iteye对附件大小有限制,因此删除了依赖的jar包,需要自己copy相应的jar文件到lib目录下才可以运行,依赖的jar:

 

  • 大小: 258.6 KB
  • 大小: 10.5 KB
  • 大小: 7.3 KB
  • 大小: 59.9 KB
  • 大小: 23.7 KB
  • 大小: 43.3 KB
  • 大小: 20.2 KB
  • 大小: 40.9 KB
  • 大小: 27.9 KB
  • 大小: 40.3 KB
  • 大小: 45.8 KB
  • 大小: 31.7 KB
  • 大小: 21.9 KB
  • 大小: 44.3 KB
  • 大小: 14.7 KB
  • 大小: 2.9 KB
分享到:
评论
2 楼 billjoincheer 2014-01-20  
1 楼 liyonghui160com 2013-12-18  
 

相关推荐

    jQuery UI组件 jQuery UI

    总的来说,jQuery UI 是前端开发的重要工具,它简化了UI组件的实现,提高了开发效率,使得开发者可以更加专注于业务逻辑和用户体验的提升。无论你是新手还是经验丰富的开发者,jQuery UI 都能为你提供强大而灵活的...

    最新jQueryUI组件下载

    这个“最新jQueryUI组件下载”应该指的是版本号为1.10.0的jQuery UI压缩包。 jQuery UI 包含了大量的可交互和视觉上吸引人的元素,它简化了网页开发,让开发者可以快速实现复杂且用户友好的界面设计。以下是一些...

    移动端基于jqueryzepto的UI组件库

    移动端基于jquery,zepto的UI组件库,目前实现 JS Components:Toast、Action、Tips、Dialog、Swiper、CityPicker、DatetimePicker、Tab、Range Css Component:oneborder、Loading、button 等

    基于JavaScript和CSS的jQuery前端UI组件库设计源码

    本项目是基于JavaScript和CSS的jQuery前端UI组件库设计源码,包含39个文件,主要文件类型为js、css、svg、png、gif、eot、ttf、woff和LICENSE。该项目适用于jQuery前端UI组件库的开发和设计,为用户提供了一个丰富的...

    JQueryUI组件 JS下载

    **jQueryUI组件详解** jQueryUI 是一个基于jQuery库的扩展,它提供了一整套用户界面组件,如对话框、滑块、进度条、日期选择器等,极大地简化了网页交互和用户界面的设计。这个下载包包含了jQueryUI的核心组件以及...

    jquery UI组件集合

    《jQuery UI组件集合详解》 jQuery UI 是一个基于 jQuery JavaScript 库的用户界面插件集,它提供了丰富的交互效果和可自定义的主题,使得开发者能够更轻松地创建出美观、功能丰富的网页应用。这个组件集合涵盖了...

    cui组件 jquery组件库

    CUI组件库是一款基于jQuery的前端开发框架,旨在简化Web前端开发流程,提供一系列预封装的用户界面元素和交互功能。这款组件库以其易用性、高效性和丰富的功能集为特点,深受开发者喜爱。在本篇文章中,我们将深入...

    基于jquery ui实现的portal

    总的来说,"基于jquery ui实现的portal"是一个结合了前端库、用户体验设计、以及动态数据加载等多个IT知识点的实践项目。通过深入学习和实践,开发者不仅可以掌握jQuery UI的用法,还能提升对Web应用程序架构和用户...

    基于JqueryUI的图片上传插件

    **基于JqueryUI的图片上传插件** 在Web开发中,用户交互是不可或缺的一部分,而图片上传功能在很多场合都十分常见,例如社交媒体、电子商务、博客系统等。JqueryUI作为一个强大的JavaScript库,提供了丰富的界面...

    jquery ui组件

    总之,jQuery UI组件库是Web开发中的强大工具,它提供了一系列易于使用的、高度定制化的交互控件,极大地提升了网页的用户体验。无论是构建企业级应用还是个人项目,jQuery UI都能成为开发者得力的助手。

    jQueryUI jQueryUI插件 键盘插件

    6. **可扩展性**:由于基于jQueryUI,键盘插件可以与其他jQueryUI组件无缝集成,如对话框、时间选择器等,构建出更加复杂的交互式界面。 文件名“keyboard”可能是指这个插件的核心代码文件,包含了实现键盘功能的...

    jquery-ui库

    jQuery UI 是一个基于 jQuery JavaScript 库的可扩展的用户界面插件集合,它提供了丰富的交互效果、可自定义的主题以及多种可重用的UI组件。这个库极大地方便了开发者创建功能丰富的网页应用,使得前端开发更为高效...

    基于jquery ui的自定义布局(附下载)

    jQuery UI是一个功能丰富的JavaScript库,它包含了各种用户界面组件,如对话框、拖放、日期选择器等,同时也提供了布局管理工具,便于创建响应式的网页布局。 **jQuery UI Layout 插件** jQuery UI虽然本身并未...

    jQuery UI Autocomplete是jQuery UI的自动完成组件

    jQuery UI Autocomplete是一款基于jQuery UI库的插件,专门用于实现自动完成功能。这个组件在网页表单中尤其有用,它可以为用户提供实时的搜索建议,提升用户输入体验,节省用户时间并减少输入错误。在网页应用中,...

    基于jQueryUI的炫酷3D立体滑块特效

    总结来说,"基于jQueryUI的炫酷3D立体滑块特效"是将强大的jQueryUI库与CSS3的3D转换和阴影效果相结合的产物,通过JavaScript实现滑块拖动的联动功能和数值显示,为用户带来直观且富有层次感的交互体验。这一技术在...

    基于JQUERY UI的全能布局插件LAYOUT,强烈推荐,附带DEMO例子

    而jQuery UI Layout 是一个基于jQuery UI的扩展插件,专用于创建复杂的页面布局。这个插件允许开发者通过简单的配置实现多区域的自适应布局,极大地提升了网页设计的效率和灵活性。 ### 一、jQuery UI Layout 简介 ...

    基于jqueryUI的MVC权限管理

    综合以上知识点,基于jQueryUI的MVC权限管理系统通过结合强大的前端库和严谨的后端架构,实现了对用户权限的有效控制,同时提供了良好的用户体验。在实际开发中,还需要考虑安全性、性能优化、异常处理和测试等方面...

    JQuery UI 1.91 组件demo

    jQuery UI 是一个基于 jQuery JavaScript 库的用户界面插件集合,提供了丰富的交互效果、可自定义的主题以及多种组件,旨在简化网页的用户界面开发。在本篇文章中,我们将深入探讨 jQuery UI 1.9.1 版本中的关键组件...

    JQueryUI库

    总之,jQuery UI 是一个功能强大的前端开发工具,它提供了一系列易于使用的UI组件和动画效果,使得开发者能够专注于业务逻辑,而不是底层实现细节。结合其优秀的文档支持和社区资源,jQuery UI 成为了许多开发者的...

Global site tag (gtag.js) - Google Analytics