- 浏览: 471477 次
- 性别:
- 来自: 广州
文章分类
- 全部博客 (190)
- ExtJS (40)
- JavaScript (16)
- Java设计模式 (13)
- Html (10)
- Tomcat (9)
- myeclipse (5)
- JSP (5)
- CSS (10)
- JS/CSS (1)
- windows (12)
- Navicat For MySQL (1)
- struts2 (6)
- Spring2.0 (1)
- Java反射机制 (5)
- hibernate (9)
- java (17)
- B/SWeb完美打印方案 (1)
- 数据库相关 (4)
- java web报表 (1)
- 报表打印 (2)
- java泛型 (1)
- Servlet (2)
- SVN (7)
- Log4j (0)
- android (3)
最新评论
-
kation733:
斯蒂芬斯蒂芬多萨法阿凡达是否阿萨德
同时开启两个Tomcat -
BlueBing:
一路的夏天 写道楼主的代码会报错吧!在前面的时候String ...
使用Java反射机制遍历实体类的属性和类型 -
ying890:
非常感谢!
Ext JS中文乱码解决方案 -
zhylandroid:
谢谢了,对我很有帮助
DatabaseMetaData开发实务(上) -
wendy.wujing:
maxHttpHeaderSize="8192&qu ...
查看Tomcat配置的端口
相信各位读者在学习Ext官方示例的时候,会发现每个例子都会引用examples.js。examples.js文件中的第一句就是:
Ext.BLANK_IMAGE_URL = '../../resources/images/default/s.gif';
这是一句将图片地址赋给Ext.BLANK_IMAGE_URL变量的语句。单单看这句话看不出有什么特殊,下面我们看Ext源代码GridView.js中的语句,来学习Ext.BLANK_IMAGE_URL的真正含义。
JavaScript代码清单10-1-1
if (!ts.hcell) {
ts.hcell = new Ext.Template(
'<td class="x-grid3-hd x-grid3-cell x-grid3-td-{id}" style="{style}">'
+ '<div {tooltip} {attr} class="x-grid3-hd-inner x-grid3-hd-{id}"
unselectable="on" style="{istyle}">',
//判断grid是否启用了菜单
this.grid.enableHdMenu
? '<a class="x-grid3-hd-btn" href="#"></a>'
: '',
'{value}<img class="x-grid3-sort-icon" src="', Ext.BLANK_IMAGE_URL, '" />',
"</div></td>");
}
这段代码是生成Grid的列标题,通过模板动态生成列标题的样式,并定义列标题的排序图标。通过章节开始的那句赋值语句我们就应该知道排序图片是指向‘../../resources/ images/default/s.gif’,s.gif是一个空白的图片,意思是列标题在没有进行排序的情况下默认不显示任何图片,通过运行Ext官方示例Editor Grid Example在FireFox下面查看最终源代码会更加清楚,如图10.1中的红框处所示。
图10.1 最终的源代码
那么可以说明,排序图标是需要动态创建的,在点击Grid的列标题进行排序的时候,Ext会动态地修改CSS来设置图片修饰组件<img>的src属性,来实现图片的动态加载。
这样可以看出,Ext在对一些需要应用图片的地方,都没有显式地写明要应用的图片路径,而都是通过CSS来动态配置,许多应用图片的地方刚开始都使用Ext.BLANK_IMAGE_URL来替代,而在CSS加载之后就会替换到真实的图片路径。另外Ext.BLANK_IMAGE_URL在Ext默认的值为:
BLANK_IMAGE_URL : "http:/"+"/extjs.com/s.gif"
这是连接官方Ext网站的图片,这样如果您的图片在网络不通的情况下会显示一个红叉,所以还是建议在实际应用中将Ext.BLANK_IMAGE_URL设置为本地引用。最后还经过实践证明,如果没有正确地配置Ext.BLANK_IMAGE_URL,可能在许多控件上显示不了CSS文件中定义的装饰图标。
Ext软件包下面的Resources文件夹放置了Ext所需的全部资源文件,包括样式表(css)、图片等,但唯一不包括的一张图片是像素1 * 1的透明GIF文件,为什么这张图片如此特别,需要另作处理呢?我们先从网页的背景图制作方法说起——这是在前端设计中一种非常有用的处理手段。
Ext样式精粹
一般情况下,在HTML页面中插入图片很简单,直接定义Img元素的src属性即可:
<img src="image.gif" />
<a href="http://foo.com"><img src="image.gif" /></a>
<!--套上link元素做连接-->
渐渐地,人们意识到这样更换样式的同时需要修改HTML文件(仅仅是修改img元素的引用地址),不如修改CSS文件方便,不会涉及HTML结构有影响小的特点,于是一个空白图片做占位符号,然后用CSS文件里配置的背景图片做显示,这样有利于更换主题。上面的代码变为HTML和CSS两种:
HTML: <div id="image"></div> |
CSS: #image { height: 30px; width: 50px; background-image:url(../images/index.gif); } |
此时的div元素中的innerHTML属性为空,即不包含任何字符。问题出现这里了,我们不能直接给div元素套上link元素,否则不能建立连接或div出现异常,如这里给出的一个错误的用法,见源码10-1-1。
源码10-1-1 (错误的用法)
<style>
#image {
height: 30px;
width: 50px;
background:blue;
}
</style>
<a href="#">
<div id="image"></div>
</a>
<!--如果我想把两个元素“调过来”,div元素嵌套a元素也不行,因为a元素不支持height、width尺寸的属性-->
要可靠地为div元素加上连接,同时也希望利用CSS配置的背景图片,可以利用一种折中但有效的方法,在a元素中包含一个透明的GIF图片,该图片大小为1 * 1像素,IMG元素的尺寸大小就按照实际显示的大小设置。IMG此时的作用不是显示要显示的图片,而是让透明的图片不断地被填充,达到不影响背景图片而又设置大小尺寸的效果。
不过,此时我们距离真正解决问题还差一步之遥。因为这个IMG元素不能够以背景图(在CSS里面)的方式引用那个1 * 1的透明图片。IMG元素本来的用途是显示图片,再加入背景图岂不是多此一举,因此在W3C(HMTL标准制定者)的规范中,IMG元素是不存在背景图的属性或相关设置方法的。如此一来,我们便不能遵从CSS文件路径的定位标准去定义这个透明图片(CSS与HTML路径各自成独立体系),好在这只是唯一需要我们设置的地方,一次定义正确,整个Ext库都能引用这个图片路径。
CSS图片拼合(CSS sprites)可有效降低图片文件的HTTP连接请求数。多个图片将以一定间距合并为一个大图片文件。页面中使用这些图片的元素将利用background-position这一CSS属性来显示拼合图片中的指定位置。就好比手表上的日期,你今天看到的是21,明天看到的是22,是因为它的位置往上跳了一格。
总地来说,将几张图片合成一个大图,并给出CSS座标,这就是CSS Sprites的精粹所在,也是Ext制作皮肤的总体思路。
这一技术可有效提升网站的性能, 尤其是网页上有众多小图片时——如许多菜单栏图标。Yahoo!首页是使用此技术的一个实例。
发表评论
-
功能: 用户点击grid的表头菜单显示/隐藏列,拉动列、重新刷新页面后保留。
2011-01-05 11:56 2362var grid = new Ext.grid.GridPa ... -
fieldSet组件的基本用法 将fieldSet上的边框去掉或者改变内边距
2010-05-29 09:58 10543先把fieldSet简单的回忆下: fieldset:对表单进 ... -
ext grid 没有数据时不显示横向滚动条的解决办法
2010-05-28 14:18 2663EXT Grid 没有数据时不显示横向滚动条的解决办法: t ... -
ExtJS中动态设置TextField的readOnly属性
2010-04-28 14:49 2419假设 textField, 它的 id = 'textFiel ... -
Ext监控回车按键
2010-03-06 11:25 2396listeners : {specialkey : funct ... -
Ext.Ajax类
2010-03-05 10:35 1921Ext.Ajax类Ext.Ajax类是一个简单而清晰的XHR封 ... -
Ext JS 键映射:键盘作为第一类操作对象
2010-02-26 15:07 2290Ext.KeyMap Ext提供几个不同的组件,支持键盘导航, ... -
如何在服务器端 读取Ext.ux.UploadDialog上传的文件?
2009-12-10 17:09 2223问题已经解决。 1。要导入 commons.io.jar包 ... -
ext 多文件上传控件 Ext.ux.UploadDialog 使用中的问题
2009-12-10 17:03 3325Ext.ux.UploadDialog 像ext一 ... -
Ext.data专题五:常用proxy之MemoryProxy
2009-08-26 14:44 3953MemoryProxy只能从JavaScript对象获得数据, ... -
Ext.data专题四:Ext.data.Store
2009-08-26 14:42 2822Ext.data.Store是EXT中用来进行数据交换和数据交 ... -
Ext.data专题三:Ext.data.Record
2009-08-26 14:40 5341Ext.data.Record就是一个设 ... -
Ext.data专题二:Ext.data.Connection
2009-08-26 14:38 1432Ext.data.Connection是对Ext.li ... -
Ext.data专题一:Ext.data简介
2009-08-26 14:36 1280Ext.data在命名空间中定义了一系列store、reade ... -
深入浅出Ext JS:数据存储与传输
2009-07-11 15:40 248010.4 Ext.data.Store Ex ... -
EXT核心API详解(十一)_Ext.data.Store/GroupingStore/JsonStore/SimpleStore
2009-07-03 17:17 5649Ext.data.Storestore是一个为 ... -
《Ext实战》节选:自定义单元格的显示格式
2009-07-02 14:49 1338有时候,需要在Grid中显示一个链接,或根据数字的大小显示不同 ... -
ext afteredit详解
2009-07-02 09:48 2412grid.on("afteredit",a ... -
Ext.form.ComboBox 属性详解及使用方法介绍和级联使用
2009-06-27 16:18 2451Ext.form.ComboBox 属性详解(见注释)及使用方 ... -
ext_comboBox二级级联下拉框
2009-06-27 16:11 1807Ext.onReady(function(){ ...
相关推荐
在Ext框架中,`Ext.BLANK_IMAGE_URL` 是一个非常重要的属性,它用于指定默认的图像路径。例如: ```javascript Ext.BLANK_IMAGE_URL = basePath + "common/ext3.1/resources/images/default/s.gif"; ``` 这里通过...
"BLANK_IMAGE_URL"是ExtJS中的一个常量,它通常被用作一个占位符图像的URL。这个1×1像素的透明图片在JavaScript和CSS中起到了关键作用。在Web开发中,有时需要一个不可见的图像来作为某些元素的默认值或占位符,...
- `Ext.BLANK_IMAGE_URL`通常用于设置占位符图片的URL,防止因图片未加载而出现的错误图标。 - `TreeLoader`对象用于从服务器加载树节点数据。可以设置`dataUrl`属性指定数据源,也可以在加载前的事件中动态设置。...
`Ext.BLANK_IMAGE_URL`是一个预定义的属性,用于指定一个空白图像的URL,这个图像通常用于占位符或解决CSS中背景图像加载延迟的问题。在这个例子中,`Ext.BLANK_IMAGE_URL='scripts/ext/resources/images/vista/s....
EXT_JS的`Ext.BLANK_IMAGE_URL`常量用于设置空白图片路径,以避免某些浏览器在处理图像时出现问题。 2. **应用启动与`Ext.onReady`**:EXT_JS应用通常从`Ext.onReady`函数开始执行,这个函数会在DOM加载完成并且EXT...
`Ext.BLANK_IMAGE_URL` 是EXTJS 为某些组件(如树形控件)设置的占位符图像URL。 EXTJS 应用程序的启动通常从`Ext.onReady` 函数开始。这个函数会在DOM加载完成后执行,确保在操作DOM元素时页面已经完全准备就绪。...
2.5 关于ext.blank_image_url / 40 2.6 关于字体 / 42 2.7 ext js 4语法 / 42 2.8 本地化 / 60 2.9 为本书示例准备一个模板 / 60 2.10 本章小结 / 61 第3章 调试工具及技巧 / 62 3.1 使用firebug进行调试 / ...
为了解决这个问题,可以在自己的代码中设置`Ext.BLANK_IMAGE_URL`为本地的图片路径。例如,在`examples.js`文件中可以看到设置如下: ```javascript Ext.BLANK_IMAGE_URL = '../../resources/images/default/s.gif'...
- **Ext.BLANK_IMAGE_URL**:设置 Ext JS 的默认空白图片路径。 - **Ext.QuickTips.init()**:初始化快速提示功能。 - **CheckboxSelectionModel**:创建一个复选框选择模型,允许用户多选行。 - **ColumnModel**:...
Ext.BLANK_IMAGE_URL = '../resources/images/default/s.gif'; Ext.onReady(function() { Ext.MessageBox.alert('Hello', 'Hello world'); }); ``` 在上面的代码中,我们首先引入了 ExtJS 的核心文件,然后...
- 在使用EXTJS时,需要特别注意`Ext.BLANK_IMAGE_URL`这个配置项,它指向一个1x1像素的透明图片(通常为`s.gif`)。此设置对于确保应用的统一外观至关重要,尤其是在处理不同分辨率下的显示问题时。 3. **IE浏览器...
Ext.BLANK_IMAGE_URL = 'path/to/blank.gif'; Ext.UpdateManager.defaults.indicatorText = '加载中...</div>'; Ext.QuickTips.init(); Ext.util.Format.defaultDateFormat = 'Y-m-d'; // 引用中文语言包 Ext...
Ext.BLANK_IMAGE_URL = '../extjs2.0/resources/images/default/s.gif'; // Alert 示例 Ext.Msg.alert('提示', '信息主体内容', function() { alert('回调函数'); }); // Confirm 示例 Ext.Msg.confirm('...
- `ct.createChild({ tag: 'img', src: Ext.BLANK_IMAGE_URL })` 创建了一个新的图片元素,并设置初始为空白图片。 - `this.codeEl.addCls('x-form-code')` 添加了之前定义的CSS类,以便应用样式。 - `this.codeEl....
13. **Ext.BLANK_IMAGE_URL**:这是ExtJS中的一个全局常量,用于提供一个空的图片URL,常用于占位或者默认图片。 14. **Ext.XTemplate**:XTemplate是ExtJS中的模板引擎,用于动态渲染数据到HTML中,它可以将JSON...