ExtJS学习(1)
来源:互联网 发布:谱聚类 ncut算法那 编辑:程序博客网 时间:2024/06/05 05:18
学习大纲 :
1.模仿 Js 的 alert.
2.学习 ExtJs 的准备工作,和学习方法
HTML - - -> 熟悉
CSS - - -> 熟悉
JavaScript - - -> 精通
JS的oo(JavaScript的面向对象变成) - - -> 精通
aJax - - -> 精通
推荐书籍:
《JavaScript的设计模式》
《征服AjaxWeb 2.0快速入门与项目实践》
3.ExtJS对原生的JS的扩展
(1)Array 的 every()方法
(2)Array 的 filter()方法
(3)Array 的 contains()方法
(4)Array 的 toArray()方法
目录结构
代码及知识点 :
1、模仿 Js 的 alert.
index.jsp 页面
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><%String path = request.getContextPath();// 获得项目完全路径(假设你的项目叫MyApp,那么获得到的地址就是 http://localhost:8080/MyApp/):String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";%><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>ExtJs 学习 !</title><base href="<%=basePath%>"></head><body><button onclick="dump('practice/basic.html')">练习_1</button></body><script type="text/javascript"> function dump(url){ window.location=url; }</script></html>
在index.jsp页面我做了一个按钮,跳转到 basic.html 页面
basic.html 页面
<!DOCTYPE html><html><head><meta charset="UTF-8"><title>Hello World !!!</title><link rel="stylesheet" type="text/css" href="../ext-4.0.0/resources/css/ext-all.css"> <!-- 引入样式 --><script type="text/javascript" src="../ext-4.0.0/bootstrap.js"></script> <!-- 在4.0以前的版本引入的是ext-all.js 或者 ext-all-debug.js 但是在4.0中我们引入 bootstrap.js就行 在运行的时候回自动把ext-all.js也引入进去 --><script type="text/javascript" src="p_01/practice.js"></script> <!-- 引入我们写的 js 文件,而在这个页面我们并不写任何的JavaScript代码,所有的JavaScript 代码我们都单独写成一个 js 文件,然后在这个页面引入,这样我们的代码会看起来更加的干净、清晰。 --></head><body></body></html>
practice.js 页面
(function(){ Ext.onReady(function(){ Ext.MessageBox.alert("hello","Hello world!");// alert(1); });})();
(1). 方法 onReady( Object fn, Object scope, Object options )
onReady() 是在Ext框架及页面的html代码加载完后,所要执行的函数,一般会在这里做一些初始化。
该方法的调用发生在Document对象加载完毕后,HTML的onload事件及image加载之前。此函数非常重要,所有的资源都必须加载完毕方可进行ExtJS的函数调用即Ext.onReady()是ExtJS的入口点。
调用onReady()方法时可以带三个参数 :
第一个参数是必须的,表示要执行的函数或匿名函数,
第二参数表示函数的作用域,
第三个参数表示函数执行的一些其它特性,比如延迟多少毫秒执行等,大多数情况下只需要第一个参数即可。
如上面的例子中,页面加载完毕后会调用一个匿名函数,在页面弹出提示框 .
可以在一个页面中多次调用onReady方法,则将会把这些方法放到事件队列中,依次执行;onReady的第三个参数是事件执行的一些特殊属性描述,可以是简单的true或false,也可以是一个对象,对象中可以包含delay、single、buffer等属性,比如在上面的代码中添加下面的代码:
Ext.onReady(function(){ alert("多个onReady测试");},this,{delay:5000});
则在页面加载完成后,执行了第一个onReady()中的匿名函数,5秒后会执行上面第二个onReady()方法中的匿名函数。
这里面就涉及到了Ext.MessageBox.alert(); 和 alert 的区别.
(2). Ext.MessageBox.alert(); 和 alert 的区别 :
Ext.MessageBox.alert实际上是用div等CSS方式做出来的效果,而不是真正意义上的弹窗.对于这一点,我们可以这样证明:
(function(){ Ext.onReady(function(){ Ext.MessageBox.alert("hello","Hello world!"); alert(1); });})();
在这段代码中,我们可以先把 alert(1); 放到上面,Ext.MessageBox.alert(“hello”,”Hello world!”); 放到下面.于是我们看到的效果是,先出现一个 1 的弹窗,当我们点确定之后,”hello”,”Hello world!” 的弹窗才会出现,也就是说 , 正常的弹窗是会阻止后面的程序的运行的;
下面我们再把它们俩的位置对调,我们会看到两个弹窗同时出现,这也就说明了,Ext.MessageBox.alert() 并不是真正意义上的弹窗.
2、
3、ExtJS对原生的JS的扩展
(1)Array 的 every()方法
API对every的描述
/**遍历数组**/ Ext.Array.every(myArray, function(item){ if(item > 0){ return true; }else{ alert(item); return false; } }, this );
(2)Array 的 filter()方法
API对filter的描述
/**过滤数组**/ var myNewArray = Ext.Array.filter(myArray,function(item){ if(item > 0){ return true; }else{ return false; } },this); alert(myNewArray.join("\n"));
(3)Array 的 contains()方法
API对contains的描述
/**是否包含给定元素**/ var flag = Ext.Array.contains(myArray,523); alert(flag);
(4)Array 的 toArray()方法
/**转换成真正的数组**/ function test() { var args = Ext.Array.toArray(arguments), fromSecondToLastArgs = Ext.Array.toArray(arguments, 1); alert(args.join(' ')); alert(fromSecondToLastArgs.join(' ')); } test('just', 'testing', 'here'); // 提示 'just testing here'; // 提示 'testing here'; Ext.Array.toArray(document.getElementsByTagName('div')); // 将把 NodeList 转换成一个数组 Ext.Array.toArray('splitted'); // returns ['s', 'p', 'l', 'i', 't', 't', 'e', 'd'] Ext.Array.toArray('splitted', 0, 3); // returns ['s', 'p', 'l']})();
上面这段代码就是API给出的例子.
通过这几个例子学习看API 文档,给出的方法还有很多,这里就不一一试验了.
- extjs视频学习1
- ExtJS学习1
- extjs学习1
- ExtJs 学习笔记1
- ExtJS 基础学习-1
- ExtJS学习(1)
- ExtJS学习笔记1--onReady
- dojochina ExtJS学习笔记1
- Extjs学习笔记(1)
- extjs学习
- Extjs学习
- 学习ExtJs
- ExtJs学习
- ExtJs学习
- extjs学习
- extjs学习
- EXTJS 学习
- ExtJS 学习
- Python利用pip安装第三方库函数
- jsch包中Sftp连接问题
- 欢迎使用CSDN-markdown编辑器
- 软件工程的需求分析、概要设计、详细设计的区别-转载
- Android NDK学习 <二> Android.mk的制作
- ExtJS学习(1)
- Android安全开发之安全使用HTTPS
- RPM包一步步制作
- linux入门学习方法
- ArrayList 赋值的问题
- Sql server还原数据库提示“介质集有2个介质簇,但只提供了1个。必须提供所有成员”
- MATLAB中mexC++代码,.a静态链接库的用法
- UITextField
- 判断Activity,Service是否正在运行