`
wanghaisheng
  • 浏览: 91699 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

extjs 信息提示组件 Toast

阅读更多

最近在学习extjs4,做crud操作时要将与后台数据交互结果反馈给用户,如果用extjs的MessageBox感觉有点笨重,就想要自己设计一个像android的Toast一样的信息提示框,google了一下,extjs官方居然有现成的例子,稍微改动了一下,自己做做笔记

 

 

Ext.define('Ext.ux.Toast',{
	extend:'Ext.Component',
	alias:'widget.toast',
	initComponent:function(){
		var me = this;
		
		var msgCt;

		function createBox(t, s) {
			return [
					'<div class="msg">',
					'<div class="x-box-tl"><div class="x-box-tr"><div class="x-box-tc"></div></div></div>',
					'<div class="x-box-ml"><div class="x-box-mr"><div class="x-box-mc" style="font-size:13px"><h3>',
					t,
					'</h3>',
					s,
					'</div></div></div>',
					'<div class="x-box-bl"><div class="x-box-br"><div class="x-box-bc"></div></div></div>',
					'</div>'].join('');
		}
		
		/**
		 * 信息提示
		 * @member Ext.ux.Toast
		 * @param {String}
		 *            title 标题
		 * @param {String}
		 *            format 内容
		 * @param {autoHide} 
		 * 			  autoHide 是否自动隐藏
		 * @param {pauseTime}
		 * 			  pauseTime 信息停留时间 
		 */
		me.msg = function(title, message, autoHide, pauseTime) {
			if (!msgCt) {
				msgCt = Ext.DomHelper.insertFirst(document.body, {
					id : 'msg-div',
					style : 'position:absolute;top:10px;width:250px;margin:0 auto;z-index:20000;'
				}, true);
			}

			// //给消息框右下角增加一个关闭按钮
			// message+='<br><span style="text-align:right;font-size:12px;
			// width:100%;">' +
			// '<font color="blank"><a style="cursor:hand;"
			// onclick="Ext.example.hide(this);">关闭</a></font></span>'

			var s = Ext.String.format.apply(String, Array.prototype.slice.call(
							arguments, 1));
			var m = Ext.DomHelper.append(msgCt, {
						html : createBox(title, s)
					}, true);
			msgCt.alignTo(document, 't-t');

			m.slideIn('t');

			if (!Ext.isEmpty(autoHide) && autoHide == true) {
				if (Ext.isEmpty(pauseTime)) {
					pauseTime = 1000;
				}
				
				console.log('pauseTime==>'+pauseTime);
				
				// 在extjs4中m.pause(t)方法已经被标记为  DEPRECATED
				m.ghost("t", {
							delay: pauseTime,
							remove : true
						});
			}
		}
		
		me.callParent();
		
		return me;
		
	},
	/**
	 * 隐藏提示框
	 * @param {} v
	 */
	hide : function(v) {
		var msg = Ext
				.get(v.parentElement.parentElement.parentElement.parentElement.parentElement.parentElement);
		msg.ghost("t", {
					remove : true
				});
	}
},function(){
	Ext.ux.Toast = new this();
});

 该提示框可以设置是否自动隐藏,提示框停留时间,还可以添加删除提示框的按钮(只要加上被注释的代码就行)

我把文件放在extjs/ux/目录下,文件名为Toast.js,则在app.js中就添加如下代码Ext.Loader.setConfig({

			enabled : true
		});

Ext.Loader.setPath('Ext.ux','extjs/ux');

Ext.application({
	requires:[‘Ext.ux.Toast']
        ......
});
 

 

分享到:
评论

相关推荐

    ExtJS日期多选组件源码

    通过研究和理解"ExtJS日期多选组件源码",开发者可以深入学习ExtJS组件设计、事件处理、数据绑定等核心概念,并能进一步定制适合自己项目需求的日期选择组件。这样的组件对于提高开发效率和用户体验具有积极的意义。

    Extjs树分页组件扩展

    PagingToolbar是ExtJS中的分页工具栏,通常用于表格组件(GridPanel)的底部,提供页码导航和信息显示。在树分页组件中,同样需要这样一个工具栏来控制分页操作。扩展PagingToolbar,我们需要将它的功能适配到树形...

    Extjs图片展示组件实例

    漂亮的Extjs图片展示组件实例,类似于幻灯片,可直接拿去用,非常不错的哦

    Extjs3.0 常用组件介绍及怎么安装开发利器Spket

    **ExtJS 3.0 常用组件介绍** ExtJS 是一款强大的JavaScript库,用于构建富客户端Web应用。在3.0版本中,它提供了一系列丰富的组件,这些组件可以帮助开发者构建功能丰富的用户界面。以下是一些ExtJS 3.0中的常用...

    extjs 树型分页组件

    在EXTJS中,树型组件(Tree)是一种常见的数据展示方式,特别适合于层次结构明显的数据组织。然而,当树节点数量庞大时,一次性加载所有数据不仅会消耗大量的系统资源,也会导致用户界面响应变慢,用户体验下降。...

    MVC设计模式实战ExtJS4.2高级组件+SSH2在线投稿系统

    01.教程简介_ExtJS4.2简介_SSH2基本框架搭建 02.编写几个通用的service方法、设计数据库 03.搭建ExtJS的MVC框架 04.主界面的搭建、登录功能和菜单树的生成 05.创建菜单树、前台保存用户信息 06.菜单树响应事件、我的...

    extjs 3.1 组件 使用

    `ext-lang-zh_CN.js`则是中文语言包,用于将组件的提示信息和错误信息本地化为中文。此外,还可能有自定义的组件、应用逻辑和配置文件。在开发过程中,我们需要正确引用这些脚本,并根据需要进行配置和扩展。 `jsp`...

    extjs入门之组件学习

    extjs入门学习,各个组件的使用,包括Observable、Observable、BoxComponent、Container、Panel、Viewport及Window...

    extjs各种常用组件归纳总结

    extjs各种组件的详细实现及各种扩展归纳总结,包括各种grid,tree,布局,表单,ajax,弹出框等

    ExtJS 组件扩展

    ### ExtJS 组件扩展知识点详解 #### 一、ExtJS组件扩展概述 ExtJS是一款基于JavaScript的开源前端框架,主要用于构建复杂的企业级Web应用程序。它提供了丰富的UI组件库,可以帮助开发者快速构建美观且功能强大的...

    Extjs绚丽上传组件

    6. **样式定制**:提供关于如何修改组件默认样式的提示,使其符合整体应用风格。 标签中提到的“源码”可能意味着博主会提供一些示例代码或者一个完整的上传组件实现供读者参考。而“工具”可能指的是博主推荐了...

    ExtJS开发插件及Ext包

    - 对于ExtJS,Spket可以识别和理解ExtJS组件和API,提供实时的代码提示,帮助开发者快速编写代码。 - 还包括模板、调试工具和集成版本控制系统等其他特性,为ExtJS开发提供了一个全面的工作环境。 3. **Ext包管理...

    ExtJS智能提示Eclipse

    "ExtJS 智能提示 for Eclipse"是指在Eclipse中安装并配置Spket插件,以便在编写ExtJS代码时获得自动补全和API提示。Spket是一个为JavaScript和相关框架提供代码补全的Eclipse插件,它支持包括ExtJS在内的多个...

    Extjs2.0 智能提示

    智能提示不仅会列出可绑定的事件,还会展示事件处理函数的参数和返回值信息,使得事件处理的编写更加高效和准确。 同时,ExtJS 2.0还提供了大量的组件和小部件,如表格、树形视图、菜单、工具栏等。智能提示在这里...

    ExtJs文件上传组件(UploadDialog)

    在ExtJS中,UploadDialog是一个专为文件上传设计的组件,它提供了用户友好的界面,允许用户选择并上传多个文件到服务器。这篇博客文章(虽然链接无法直接访问,但我们可以根据已知信息推测内容)可能详细介绍了如何...

    extjs 代码提示插件

    标题中的"extjs 代码提示插件"指的是专门为ExtJS开发的Eclipse插件,它能为开发者在编写ExtJS代码时提供自动补全和智能提示功能。这种插件能够极大地减少手动查找API文档的时间,提高开发速度,减少错误,并且加深对...

    ExtJs消息提示框

    ExtJs是一种基于JavaScript的富客户端应用框架,由Sencha公司开发。它提供了丰富的组件库,用于构建复杂的...通过理解和掌握这个组件的使用,可以提升你的ExtJs应用的交互体验,为用户提供更加人性化的信息提示服务。

    EXTJS 上传组件及示例

    EXTJS 是一款基于JavaScript的富客户端应用开发框架,由Sencha公司开发,它提供了一整套组件化的用户界面元素和强大的数据绑定功能。在EXTJS 中,上传组件是用于实现文件上传功能的关键部分,这对于创建交互性强、...

Global site tag (gtag.js) - Google Analytics