海纳百川 有容乃大――采用JSI封装、集成第三方类库

本文介绍了如何利用JSI(JavaScript Integration)来封装和集成第三方类库,使得HTML代码更加简洁,避免了类库间的命名冲突。通过JSI,开发者可以创建独立的执行上下文,减少全局变量污染,并实现多个版本的同种类库在同一页面共存。JSI的使用简化了类库的使用难度,同时也便于自定义类库的开发和维护。
摘要由CSDN通过智能技术生成

海纳百川 有容乃大--封装、集成

Java的成功,离不开它那个庞大的类库,不单是sun的类库,很多细节的实现都取自第三方(如xml解析采用Apache的实现)。

如前言所述,我们暂时不大算编写丰富的公共API,但是我们可以集成其他成熟的类库,同时隔离他们的依赖,隔离各个脚本的执行上下文,消除命名冲突的危险。

这里我们详细介绍一个复杂一点的实例:类似Windows XP文件浏览器左侧的滑动折叠面板(任务菜单)效果。

我们先集成Scriptaculous Effect类库,并且在这个基础上按我个人的习惯对一个面板折叠效果做一个简单的封装,展示框架的类库封装功能。

1.  集成Scriptaculous类库:

这里我们不做过多介绍,详细情况请参考集成实战;我们发布的版本中已经把Scriptaculous放置于us.aculo.script包中,您可以把这些作为系统内置的类库使用。

2.  编写我们的折叠面板函数(org/xidea/example/display/effect.js):

/**

 * 滑动面板实现.

 * 当指定元素可见时,将其第一个子元素向上滑动至完全被遮掩(折叠)。

 * 当指定元素不可见时,将其第一个子元素向下滑动至完全显示(展开)。

 */

function slidePanel(panel){

  panel = $(panel);

  if(panel.style.display=='none'){

    //调用Scriptaculous Effect的具体滑动展开实现

    new Effect.SlideDown(panel);

  }else{

    //调用Scriptaculous Effect的具体滑动闭合实现

    new Effect.SlideUp(panel);

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值