- 浏览: 321584 次
- 性别:
文章分类
最新评论
-
i042416:
分析在哪?
angular分析 -
何盆盆:
你好,请问您这是Extjs3还是Extjs4
ExtJs源码分析与学习—ExtJs事件机制(一) -
124753561:
引用引用引用引用引用[u][u][u][u][i][i][i] ...
Subvision SVN 服务端与客户端的安装 -
谷超:
请问一下例子中itext是什么版本的?
利用iText生成word文档例子参考 -
geosmart:
正好要用到执行字符串中方法,学习了
java中利用反射机制实现调用给定为字符串的方法名
浏览器原声的alert(),confirm(),prompt()显得如此寒酸,而且还不能灵活配置,比如啥时候想加个按钮,删个按钮,或者改改按下按钮触发的事件了,都是难上加难的事情。
既然如此,为何不同ext提供的对话框呢?那么漂亮,那么好配置,可以拖啊,可以随便放什么东西,在里边用啥控件都可以,甚至放几个tab乱切换呀,连最小化窗口的功能都提供了。哈哈,神奇啊,完全可以让alert退役了。
嘿嘿,为了加深认识,还是先去看看examples下的例子吧。1.x在dialog目录下。2.0在message-box目录下。
Ext.MessageBox.alert('标题', '内容', function(btn) { alert('你刚刚点击了 ' + btn); });
现在可以通过第一个参数修改窗口的标题,第二个参数决定窗口的的内容,第三个参数是你关闭按钮之后(无论是点ok按钮还是右上角那个负责关闭的小叉叉),就会执行的函数,嘿嘿,传说中的回调函数。
Ext.MessageBox.confirm('选择框', '你到底是选择yes还是no?', function(btn) { alert('你刚刚点击了 ' + btn); });
选择yes或者是no,然后回调函数里可以知道你到底是选择了哪个东东。
Ext.MessageBox.show({ title: '多行输入框', msg: '你可以输入好几行', width:300, buttons: Ext.MessageBox.OKCANCEL, multiline: true, fn: function(btn, text) { alert('你刚刚点击了 ' + btn + ',刚刚输入了 ' + text); } });
其实只需要show,我们就可以构造各种各样的窗口了,title代表标题,msg代表输出的内容,buttons是显示按钮,multiline告诉我们可以输入好几行,最后用fn这个回调函数接受我们想要得到的结果。
可能让我们对show这个方法的理解更深
Ext.MessageBox.show({ title:'随便按个按钮', msg: '从三个按钮里随便选择一个', buttons: Ext.MessageBox.YESNOCANCEL, fn: function(btn) { alert('你刚刚点击了 ' + btn); } });
我相信buttons这个参数是一个数组,里边的这个参数绝对了应该显示哪些按钮,Ext.MessageBox给我们提供了一些预先定义好的组合,比如YESNOCANCEL,OKCANCEL,可以直接使用。
实际上只需要将progress这个属性设置为true,对话框里就会显示个条条。
Ext.MessageBox.show({ title: '请等待', msg: '读取数据中', width:240, progress:true, closable:false });
看到进度条了吧,不过它可不会自动滚啊滚的,你需要调用Ext.MessageBox.updateProgress让进度条发生变化。
另外多说一句,closable: false会隐藏对话框右上角的小叉叉,这样咱们就不能随便关掉它了。
现在让咱们加上更新进度条的函数,使用timeout定时更新,这样咱们就可以看到效果了。呵呵~效果真不错,这样咱们以后就可以使用进度条了。
var f = function(v){ return function(){ if(v == 11){ Ext.MessageBox.hide(); }else{ Ext.MessageBox.updateProgress(v/10, '正在读取第 ' + v + ' 个,一共10个。'); } }; }; for(var i = 1; i < 12; i++){ setTimeout(f(i), i*1000); }
超炫效果,让对话框好像是从一个按钮跳出来的,关闭的时候还会自己缩回去。你可以看到它从小变大,又从大变小,最后不见了。实际上的配置缺非常简单,加一个animEl吧。让我们看看上边那个三个按钮的例子会变成什么样子。
Ext.MessageBox.show({ title:'随便按个按钮', msg: '从三个按钮里随便选择一个', buttons: Ext.MessageBox.YESNOCANCEL, fn: function(btn) { alert('你刚刚点击了 ' + btn); }, animEl: 'dialog' });
animEl的值是一个字符串,它对应着html里一个元素的id,比如<div id="dialog"></div>。指定好了这个,咱们的对话框才知道根据哪个元素播放展开和关闭的动画呀。
只需要这样,咱们就得到动画效果,嘿嘿,截不到动画效果的图,大家自己去看吧。
以上的例子在examples里都可以找到,不过咱们也提供了一份自己的例子,1.x在lingo-sample/1.1.1/05-01.html。2.0在lingo-sample/2.0/05-01.html。
好消息是,这部分的api没有什么改动。不过表现形式上有些差别,如果像我在例子里写的那样,一次生成N个MessageBox,只能显示最后一个对话框。
不过在1.x里明显有一些数据同步的问题,1.x里的updateProgress甚至可以影响其他对话框的msg,以及可以关闭最后那个对话框。2.0里至少是好的。
2.0需要window来完成这个任务,1.x版的BasicDialog稍后加上。
稍微说一下window咋用呢?其实看起来跟MessageBox差不多啦,只是可以在里边随便放东西,现在先看个单纯的例子。
var win = new Ext.Window({ el:'window-win', layout:'fit', width:500, height:300, closeAction:'hide', items: [{}], buttons: [{ text:'按钮' }] }); win.show();
首先要讲明的是,这个window需要一个对应的div呀,就像el对应的'window-win'一样,这个div的id就应该等于'window-win',然后设置宽和高,这些都很明朗。
其次,需要设置的是布局类型,layout:'fit'说明布局会适应整个window的大小,估计改变大小的时候也要做响应的改变。
closeAction:'hide'是一个预设值,简单来说就是你用鼠标点了右上角的叉叉,会执行什么操作,这里就是隐藏啦。问为啥是隐藏?因为,因为预设啦,乖,背下来撒。
items部分,嘿嘿~就是告诉咱们的window里要有什么内容啦。这里放表格,放树形,吼吼。
buttons里设置在底端显示的按钮。我们就为了试一下,弄了一个按钮,但是按了没反应,嘿嘿。
最后调用一下show(),让窗口显示出来。
看一下截图啦,更直观。
中间的空白就是items:[{}]的杰作,默认{}会成为一个Ext.Panel,咱们什么都没定义,里边自然什么都没有。当然500*300不会只有这么大,但是为了让图片小一点儿,我把它拖下了,嘿嘿~自动支持的修改大小效果,帅吧?
例子超简单,见lingo-sample/2.0/05-02.html。
唉,地方都划出来了,弄个表格放进去就好了呗。
首先弄一个grid,超简单那种。我是直接把第二章的例子给copy了过来,嘿嘿,表格还是那个表格哟。
有了表格,直接扔到window里,然后ok,哈哈~效果如下:
看到没?表格出来了,如果想加分页条什么的,只管动手,别怕伤到窗口。
现在回头让我们看看,需要注意些什么。
-
第一,grid不用调用render()了,只要加入了window,在win.show()的时候,会自动渲染里边的组件。
-
第二,html里,要把grid对应的div写到window的div里面,嵌套关系。
<div id="window-win"> <div id="grid"></div> </div>
-
第三,如果还不知道怎么把grid放进window里,我给你看下代码。
var win = new Ext.Window({ el:'window-win', layout:'fit', width:500, height:300, closeAction:'hide', items: [grid], buttons: [{ text:'按钮' }] });
看到items:[grid]了吗?就这么简单哟。
好了,具体例子在lingo-sample/2.0/05-03.html。敬请大家继续关注。
发表评论
-
ExtJs源码分析与学习—Ext.ToolTip应用
2011-12-29 14:18 1841源码待分析,先粘一例子备用 // ... -
ExtJs源码分析与学习—遮罩层
2011-09-06 16:49 4877类Ext.LoadMask ... -
ExtJs源码分析与学习—Ext.UpdateManager
2011-09-06 16:12 2182如果想让html页面中任意元素自动局部刷新,而不是整 ... -
ExtJs源码分析与学习—ExtJs元素Element(六)
2011-06-08 10:41 1796批量操作元素Ext.CompositeElementLite ... -
ExtJs源码分析与学习—ExtJs元素Element(五)
2011-06-07 17:35 1932元素的查询Ext.DomQuery 该 ... -
ExtJs源码分析与学习—ExtJs元素Element(四)
2011-06-07 17:17 3032元素的操作Ext.DomHelper ... -
ExtJs源码分析与学习—ExtJs元素Element(三)
2011-06-07 17:06 1050Ext.Element扩展 通过Ex ... -
ExtJs源码分析与学习—ExtJs元素Element(二)
2011-06-07 16:42 2639元素操作核心类Ext.Elemen ... -
ExtJs源码分析与学习—ExtJs元素Element(一)
2011-06-07 15:47 2128从这一节开始 ... -
ExtJs源码分析与学习—工具类Ext.util.TextMetrics
2011-06-07 15:11 2039Ext提供了一个 ... -
ExtJs源码分析与学习—ExtJs事件机制(六)
2011-06-07 11:25 1482最后把涉及到Ext事件的相关类图贴到这里 ... -
ExtJs源码分析与学习—ExtJs事件机制(五)
2011-06-07 11:15 3056最近一直忙着做产品,所以好久没有写文章了,下面接着 ... -
Ext 组件操作总结——会不断完善
2011-05-10 16:36 26921、Ext.Component 该组件在渲染的时候会默认的 ... -
ExtJs表单几种验证与扩展
2011-05-03 16:26 4898首先说明一下表单验证与其相关的一些设置 Ext ... -
ExtJs源码分析与学习—ExtJs事件机制(四)
2011-03-19 23:37 5306ExtJs组件事件——ExtJs自定义事件的处理 ... -
ExtJs源码分析与学习—ExtJs事件机制(三)
2011-03-15 20:20 3255这篇讲ExtJs对事件的管理和调用 Ext ... -
ExtJs源码分析与学习—ExtJs事件机制(二)
2011-03-15 20:15 2615在ExtJs源码分析与学习—ExtJs事件机制( ... -
ExtJs源码分析与学习—ExtJs事件机制(一)
2011-03-15 18:53 2831前面讲了ExtJs核 ... -
ExtJs源码分析与学习—ExtJs核心代码扩展
2011-01-20 19:16 2083前面三篇文章参考作者snandy总结了Ext中核心 ... -
ExtJs源码分析与学习—ExtJs核心代码(三)
2011-01-17 17:29 2177Ext为javascript的一些对象进行了扩展,主要有Str ...
相关推荐
EXT 2.0 MessageBox 和 JavaScript 弹出窗口是两种在 Web 应用程序中常见的用户交互方式。它们允许开发者向用户展示信息、询问问题或获取输入。EXT 是一个流行的 JavaScript 框架,特别是它的 EXT JS 库,用于构建富...
在Ext JS框架中,开发人员经常遇到需要在页面中实现各种交互设计,其中包括弹出窗口的使用。然而,有些情况下,弹出窗口可能并不符合用户的使用习惯或设计美学,因此寻找替代方案变得必要。本文将探讨如何在Ext环境...
EXT弹出框改装实现 EXT是一个流行的JavaScript框架,主要用于构建富客户端应用。它提供了一整套组件,包括弹出框(Window),使得开发者能够轻松创建交互式的用户界面。EXT弹出框改装通常涉及到自定义样式、行为...
标题提到的“非常炫的js弹出窗口”是一个利用JavaScript技术实现的动态对话框,它可以提供丰富的用户交互体验,与EXT框架的效果相媲美。 EXT是一个强大的JavaScript库,专门用于构建富客户端应用,它包含了一系列...
本文将详细探讨如何在ExtJS中实现一个窗口(`Ext.window`)从右下角动态弹出并隐藏的功能,类似于即时通讯软件(如MSN)中的登录提醒。 #### 二、关键技术点 ##### 1. **自定义窗口类** 为了实现上述需求,首先...
3. **自定义对话框**:如果预定义的对话框无法满足需求,可以创建一个包含自定义内容的弹出窗口。例如,创建一个包含输入框的对话框: ```javascript Ext.MessageBox.show({ title: '输入信息', msg: '请输入你的...
WindowLite是一款基于EXT JavaScript库开发的可拖动和改变大小的提示窗口工具,适用于Web应用程序中的弹出消息或用户交互场景。EXT是一个强大的前端开发框架,它提供了丰富的组件和功能,使得开发者能够构建复杂的、...
全书由一个可以引领读者快速入门的“Hello World”示例开篇,紧接着对Ext JS的事件、核心组件、表格和表单等各种控件、树形结构、拖放、弹出窗口、布局、数据存储和传输、实用工具和扩展等进行了详细讲解,最后一个...
"jQuery 布局(样式仿EXT)"项目旨在利用jQuery实现类似EXT的布局效果,提供弹出窗口、关闭标签和菜单等交互功能,以提升网页的用户体验。 **弹出窗口操作实例** 弹出窗口在Web应用中扮演着重要角色,通常用于显示...
Ext提供了多种弹出窗口组件,如MessageBox等,这些组件可自定义各种动画效果和布局,甚至可以在弹出窗口中嵌入表格和表单。Ext JS对布局的处理很灵活,可以轻松实现不同浏览器中的统一布局效果。其中BorderLayout是...
是一组用于Openlayers的扩展,控件,交互,弹出窗口。 或。 关键字:故事图,时间轴控件,CSS弹出窗口,真棒字体,统计图图表(饼图/栏),图层切换器,控制栏,维基百科图层,图例控件,搜索,动画,撤消/重做...
2. 在弹出的窗口中,你会看到你的硬盘列表。找到挂载的Linux分区,通常会显示为未知类型的设备。选中后,点击“分配驱动器号”。 3. 分配一个未使用的驱动器字母给Linux分区,然后选择合适的访问权限。为了安全起见...
**创建窗口**在EXT中,窗口通常用于弹出式对话框或者独立的功能区。EXT提供了`Ext.Window`类来创建窗口,可以设置窗口大小、位置、标题、按钮等属性,并且可以包含其他EXT组件,如表格、表单等。 **EXT基本表格...
EXT JS提供了丰富的UI组件,如GridPanel(表格),FormPanel(表单),Window(弹出窗口),TabPanel(选项卡)等,这些都是构建用户界面的基础。开发者可以通过配置对象定义组件的属性,如大小、颜色、样式等,并...
全书由一个可以引领读者快速入门的“hello world”示例开篇,紧接着对ext js的事件、核心组件、表格和表单等各种控件、树形结构、拖放、弹出窗口、布局、数据存储和传输、实用工具和扩展等进行了详细讲解,最后以一...
全书由一个可以引领读者快速入门的“hello world”示例开篇,紧接着对ext js的事件、核心组件、表格和表单等各种控件、树形结构、拖放、弹出窗口、布局、数据存储和传输、实用工具和扩展等进行了详细讲解,最后以一...
全书由一个可以引领读者快速入门的“hello world”示例开篇,紧接着对ext js的事件、核心组件、表格和表单等各种控件、树形结构、拖放、弹出窗口、布局、数据存储和传输、实用工具和扩展等进行了详细讲解,最后以一...
5. **编辑器(Editor)**:允许用户在甘特图上直接修改任务属性,如拖动调整任务持续时间,或者通过弹出窗口进行详细编辑。 6. **数据源(Data Source)**:存储任务、资源和依赖关系的数据结构,通常与后端数据库...
4. **错误处理**:如果用户输入不符合要求,例如,密码太短或包含非法字符,弹出框可能会展示错误信息,并允许用户重新输入。 5. **用户体验**:考虑到密码输入的敏感性,修改后的`prompt`方法可能还包含了其他UX...