`
寄生虫
  • 浏览: 74982 次
  • 性别: Icon_minigender_1
  • 来自: 不让你们知道
文章分类
社区版块
存档分类
最新评论

jQuery模仿ExtJS之Toolbar

阅读更多
fix_0_1:修改了选项卡内容层的HTML没有设置body backgroundColor时,在FF中透明的BUG;
fix_0_2:添加了窗口resize,TabPanel也随之resize(注:resize触发条件是,TabPanel必须渲染到body上,不设置宽度则会resize宽度,不设置高度则会resize高度);
fix_0_3:可以在任何容器中自动缩放,随父容器大小改变而改变,但必须保证父容器宽度为百分比或高度为百分比,如果选项卡组件实例化时设置了宽度或高度,则不自动改变;
fix_0_4:(1)修正了工具栏中的按钮,改用A来做,因为工具栏如果渲染到FORM中,在谷歌和火狐会出现提交表单的情况,而且不用再担心IE中中文会偏上的BUG;(2)改进了窗口改变大小选项卡不随之判断位置移动的小问题;(3)忘记还改过哪里了。。

 

已测试浏览器:IE6,IE7,IE8,Firefox,Chrome,Netscape,Safari

 

 其他浏览器也应该没啥问题,PS:WebKit果然强大

 

 续jQuery模仿ExtJS之TabPanel

  

 山寨也是一种乐趣!

 

此次将TabPanel与Toolbar结合在一起做了一个Demo,请各位赐教~

接招 Mountain fastness !!

 

 

Toolbar(工具栏组件)

参数说明

renderTo<string | jQuery object | NULL> 渲染到某容器

将工具栏组件渲染到某容器,参数类型可以为字符串,也可以为jQuery所加载的对象,如果为声明该参数,组件默认的承载容器为BODY

border<string | NULL> 边框显示位置

参数可为“top”,”bottom”,”none”,默认为”bottom”

items<array> 按钮元素集合

工具栏组件渲染后就会显示的按钮元素集合,具体参数请查看按钮元素

filters<array> 快速过滤按钮元素集合

工具栏组件渲染后就会显示的快速过滤按钮元素集合,具体参数请查看快速过滤按钮元素

active<string> 激活哪个快速过滤按钮元素

设置后会默认按下该快速过滤按钮元素。

azable<boolean> 是否有AZ快速检索组件

true有,false无,默认为false

azparam<string | NULL> AZ快速检索组件用到的隐藏变量ID

没有AZ组件时可不设置。

公共方法

add(object) 添加按钮元素、快速过滤组件按钮元素

可根据需要进行动态向工具栏组件中添加元素。

render() 渲染工具栏组件

因工具栏组件与页面高度计算相关,所以需要手动渲染。

使用方法

页面引入jQuery.jsToolbar.jsToolbar.css

new Toolbar({

renderTo : 'toolbar',

  items : [{

    type:'button',

    text:'新建',

    bodyStyle : 'new',

    handler:function(){

      //do...

    }

  }]

}).render();

Toolbar item(工具栏按钮元素)

参数说明

type<string> 元素类型

可以为”button””textfield””az”

text<string> 元素显示字符

可以不设置。

bodyStyle<string> 元素样式表

handler<function> 按钮元素事件

useable<string> 按钮元素是否可用

使用方法

工具栏组件中可以有多个buttontextfield,但只允许有一个az类型元素

Toolbar filter(工具栏快速过滤组件元素)

参数说明

各个参数大致和工具栏按钮元素相同。

使用方法

filters : [{

id : 'ALL',

  title : '全部',

  bodyStyle : 'btn-all',

  handler : function(){

    filterSysMessage('ALL');

  }

},{

  id : 'T',

  title : '已读',

  bodyStyle : 'filter-read-y',

  handler : function(){

    filterSysMessage('T');

  }

},{

id : 'F',

  title : '未读',

  bodyStyle : 'filter-read-n',

  handler : function(){

    filterSysMessage('F');

  }

}],

active : '<s:property value="readFlag"/>' //需要动态加载

  • 大小: 18.4 KB
分享到:
评论
31 楼 oycn0755 2009-11-17  
强 搞得太屌了
30 楼 Relucent 2009-10-12  
效果不错,拿来看看能不能改改直接用。O(∩_∩)O~
29 楼 javaAlpha 2009-09-28  
写的很好啊
28 楼 stworthy 2009-09-08  
没有了JQUERY风格,能$(...).toolbar({
})
就更好了。
27 楼 jayxu 2009-09-01  
这才是好东西,
26 楼 royzhou1985 2009-08-21  
最新的版本是不是这个
MyPlugins_fix_0_3.zip
25 楼 gxyxd 2009-08-05  
非常不错,谢谢
24 楼 rainchen 2009-07-31  
楼主不如放到github中,方便版本管理 方便发布更新,也方便别人fork你的来fix或enhance
23 楼 you 2009-07-29  
有个问题,新建一个tab后打开的百度页面,
随便搜索个啥东西整个页面都跳到了百度搜索页面
应该是百度的搜索页面在tab页里面打开才对(IE7下,其它没试过)
22 楼 寄生虫 2009-07-28  
wellbbs 写道
还有个问题就是,怎么判断某个选项卡已经打开,如果已经打开就不需要重复再打开,而是激活此选项卡??

选项卡只有一个能被激活,获得class='actived'就可以啦
21 楼 wellbbs 2009-07-28  
我想的太复杂了,其实加了id之后,只能生成同id选项卡,只有一个。问题解决了
20 楼 wellbbs 2009-07-28  
还有个问题就是,怎么判断某个选项卡已经打开,如果已经打开就不需要重复再打开,而是激活此选项卡??
19 楼 寄生虫 2009-07-28  
wellbbs 写道
现在能自动缩放了,很好,多谢分享。

感谢你的支持,呵呵,其实你的扩展代码也不错啦,毕竟不是你开发的功能,还能做出简单的缩放实现,谢谢啦。

正在努力改进中。。。
18 楼 wellbbs 2009-07-28  
现在能自动缩放了,很好,多谢分享。
17 楼 寄生虫 2009-07-28  
wellbbs 写道
还有就是请教一下,你这个带有编辑器的功能没?

比如添加很多条商品,然后每条记录可以实现在线编辑内容

如果有怎么调用?


目前还没有这个功能,因为我渐渐转向Flex了,所以.......
16 楼 wellbbs 2009-07-28  
还有就是请教一下,你这个带有编辑器的功能没?

比如添加很多条商品,然后每条记录可以实现在线编辑内容

如果有怎么调用?
15 楼 寄生虫 2009-07-28  
wellbbs 写道
我用了,不过我用的在主框架里,手动缩放左边菜单栏和头部缩放。
这个无法自动根据我的外面框架自动缩放。
没有办法自己就修改了一下TabPanel.js里内容,在文件最后加了一个
getRefreshW
然后在点缩放的button按钮js脚本了执行了这个方法。现在可以随我的外面的框架点缩放,自动调整大小了。


这样只能简单的实现自动调整大小,因为还涉及到左右滚动条、选项卡的容器大小等,我正在改进。
14 楼 wellbbs 2009-07-28  
我用了,不过我用的在主框架里,手动缩放左边菜单栏和头部缩放。
这个无法自动根据我的外面框架自动缩放。
没有办法自己就修改了一下TabPanel.js里内容,在文件最后加了一个
getRefreshW : function(){
 
  var clientWidth = document.body.clientWidth - 2;
  var clientHeight = document.body.clientHeight - 32;
    //alert(clientWidth);
    if(this.render.is('body'))
    {
      this.tabpanel.css('width', clientWidth +'px');
    }
    else
    {
      this.render.css('width', clientWidth +'px');
    }
      if(this.border=='none')
    {
      this.tabpanel_tab_content.css('border-top', 'none');
      this.tabpanel_tab_content.css('border-left', 'none');
      this.tabpanel_tab_content.css('border-right', 'none');
      this.tabpanel_content.css('border-left', 'none');
      this.tabpanel_content.css('border-right', 'none');
      this.tabpanel_content.css('border-bottom', 'none');
      //计算选项卡承载层和内容层宽度(重点是要去除边框的宽度)
      this.tabpanel_tab_content.css('width', clientWidth +'px');
      this.tabpanel_content.css('width', clientWidth +'px');
      //this.tabpanel_tab_content.css('height', clientHeight +'px');
      this.tabpanel_content.css('height', clientHeight +'px');
    }
    else
    {
      //计算选项卡承载层和内容层宽度(重点是要去除边框的宽度)
      this.tabpanel_tab_content.css('width', clientWidth +'px');
      this.tabpanel_content.css('width', clientWidth +'px');
      //this.tabpanel_tab_content.css('height', clientHeight +'px');
      this.tabpanel_content.css('height', clientHeight +'px');
    }
     this.update();
  }


然后在点缩放的button按钮js脚本了执行了这个方法。现在可以随我的外面的框架点缩放,自动调整大小了。
13 楼 kimmking 2009-07-28  
寄生虫 写道
nishijia 写道
发现个 bug

在 Firefox 下  点击那个新建  弹出来了百度框  不过 原先的工具栏组件的tab和百度的tab的内容同时显示出来了

是的,确实在FF下有点问题,原因找到了,是因为百度的body没有设置background-color,我把内容层增加了background-color:#FFF就可以了,Fix呈上。

ie6才有背景图片不缓存的bug

ie7 8 都没有
12 楼 寄生虫 2009-07-28  
nishijia 写道
发现个 bug

在 Firefox 下  点击那个新建  弹出来了百度框  不过 原先的工具栏组件的tab和百度的tab的内容同时显示出来了

是的,确实在FF下有点问题,原因找到了,是因为百度的body没有设置background-color,我把内容层增加了background-color:#FFF就可以了,Fix呈上。

相关推荐

    jQuery模仿ExtJS之TabPanel最新

    将选项卡组件渲染到某容器,参数类型可以为字符串,也可以为jQuery所加载的对象,如果为声明该参数,组件默认的承载容器为BODY。 items&lt;array&gt; 选项卡元素集合 选项卡组件渲染后就会显示的选项卡元素集合,具体参数...

    Ajax(Jquery与ExtJs)

    Ajax(Jquery与ExtJs) 框架对比 web前端开发

    Jquery-Extjs4.0框架

    总结来说,Jquery-Extjs4.0框架的结合使用,可以充分利用jQuery的轻便和易用性,以及Ext JS的强大组件和数据管理能力,共同构建出高效、互动性强的前端应用。了解并熟练掌握这两个框架,对于提升前端开发效率和应用...

    模仿extjs风格写的jquery combobox

    标题中的“模仿extjs风格写的jquery combobox”指的是一个基于jQuery的下拉选择框组件,它的设计灵感来源于ExtJS库的ComboBox控件。ExtJS是一款功能丰富的JavaScript框架,以其强大的组件化和数据绑定机制著名,而...

    extJs4 toolbar工具条

    ### extJs4 toolbar工具条详解 #### 一、概述 `ExtJS` 是一款非常强大的企业级前端框架,它能够帮助开发者快速构建出美观且功能丰富的 Web 应用程序。在 `ExtJS 4` 版本中,`Toolbar`(工具栏)组件是一个重要的...

    JavaScript框架jQuery和ExtJS的对比研究.pdf

    "JavaScript框架jQuery和ExtJS的对比研究" 本文将对JavaScript框架jQuery和ExtJS进行对比研究,旨在帮助Web开发者选择合适的JavaScript框架。 JavaScript框架的重要性 随着Web 2.0时代的到来,Web应用程序越来越...

    jquery/extjs智能提示所需文件spket.7z

    在IT行业中,jQuery和ExtJS是两种非常流行的JavaScript库,用于构建交互式和动态的Web应用程序。它们都提供了丰富的功能,如DOM操作、事件处理、AJAX交互以及UI组件等,极大地简化了前端开发工作。这里提到的"jquery...

    浅谈JavaScript库——jQuery,ExtJs的对比研究.pdf

    jQuery是目前最流行的JavaScript库之一,由John Resig创建于2006年。jQuery的特点是轻量级、快速、灵活、跨浏览器兼容性强。jQuery提供了大量的插件和扩展,可以满足大多数Web开发需求。jQuery的优点是易于使用、...

    jQuery和ExtJs代码提示spket插件的下载和使用说明

    **jQuery和ExtJS代码提示Spket插件的下载与使用指南** 在开发JavaScript应用程序时,尤其是在使用特定框架如jQuery和ExtJS时,拥有一个能够提供代码提示和自动完成功能的工具是极其重要的。Spket IDE是一款针对...

    jQuery EasyUI仿Extjs界面

    尽管两者在定位上有所不同,jQuery EasyUI 通过其简洁的API和较低的学习曲线,为开发者提供了一种仿制ExtJS界面效果的方式。 在"jQuery EasyUI 仿 Extjs 界面布局"中,主要涉及以下知识点: 1. **布局管理**:...

    浅谈JavaScript 库———jQuery, ExtJs 的对比研究

    ### 浅谈JavaScript库——jQuery与ExtJs的对比研究 #### 一、引言 随着Web 2.0和RIA(Rich Internet Applications)技术的普及,JavaScript作为一种前端开发的重要工具,逐渐占据了重要的地位。它不再仅仅是用于...

    storebar extjs通过store实现toolbar

    在EXTJS这个强大的JavaScript框架中,`Store`和`Toolbar`是两个核心组件,它们分别用于数据管理和用户界面的交互。本篇文章将深入探讨如何利用`Store`来实现`Toolbar`的功能,即所谓的`Storebar`,这在EXTJS开发中是...

    SSH2框架+jQuery+ExtJs+MySql数据库的购物网站

    该项目使用SSH2框架+jQuery+ExtJs+MySql数据库+MyEclipse开发环境。1、设计构思 将订单模块分成管理员和顾客两个管理部分: 管理员:可以查看所有的订单,对已付款的订单进行发货,查看订单详情,按不同方式查询订单...

    extjs4.2 动态生成toolbar

    "ExtJS 4.2 动态生成Toolbar" 在 ExtJS 4.2 中实现动态生成 Toolbar,以满足 gridPanel 中动态生成带按钮及查询条件的工具栏的需求。本文将详细介绍如何实现动态生成 Toolbar,包括视图层、 Toolbar.js 和后台调用...

    JAVASCRIPT DIV 弹层(模仿EXTJS)

    为了模仿EXTJS的弹层效果,我们还需要实现层上弹层的功能。这可以通过设置Div的`z-index`属性来实现,数值越大,层的位置越靠前: ```css #popup { position: absolute; /* 或者 fixed,根据需求选择 */ z-index:...

    EsayUI、Jquery、ExtJS等JS库中所用图标及界面图标选择功能

    EsayUI、jQuery和ExtJS都是广泛使用的JavaScript库,它们提供了丰富的功能来构建交互式的Web应用程序。其中,图标作为用户界面的重要元素,对于提升用户体验和美观度起着关键作用。本文将探讨如何在这些JS库中实现...

    jQuery与ExtJS之选择实例分析

    相比之下,ExtJS是一个更全面的框架,提供了丰富的组件和数据绑定功能。在ExtJS中,实现类似的功能需要创建数据存储、定义网格组件,以及加载和渲染数据。以下是一个简单的ExtJS表格示例: ```javascript Ext....

    基于vs2010的省市三级联动的DropDownList+Ajax的三种框架(aspnet/Jquery/ExtJs) 示例源代码

    本示例代码“基于vs2010的省市三级联动的DropDownList+Ajax的三种框架(aspnet/Jquery/ExtJs) 示例源代码”正是为了解决这个问题。它提供了在Visual Studio 2010环境下,使用ASP.NET、jQuery和ExtJS三种不同...

    js jquery extjs myeclipse 代码提示插件安装及安装步骤

    js jquery extjs myeclipse 代码提示插件安装及安装步骤js jquery extjs myeclipse 代码提示插件安装及安装步骤js jquery extjs myeclipse 代码提示插件安装及安装步骤js jquery extjs myeclipse 代码提示插件安装及...

    jquery extjs example

    **jQuery与ExtJS示例详解** 在Web开发领域,jQuery和ExtJS是两种非常流行的JavaScript库,它们分别提供了丰富的功能和强大的用户界面组件。这里我们深入探讨这两个库以及它们的结合使用。 **jQuery:轻量级的选择...

Global site tag (gtag.js) - Google Analytics