1、效果图
2、此实例是在 http://yourgame.iteye.com/blog/477600 基础上进行改进并修改。
3、 js代码
- var image_window = new Ext.Window({
- id: 'image-window',
- title : '图片浏览',
- width : 750,
- height : 500,
- resizable : false,
- closeAction :'hide',
- layout:'border',
- items:[{
- xtype: 'panel',
- region: 'center',
- layout:'fit',
- bodyStyle : 'background-color:#E5E3DF;',
- frame:false,
- border:false,
- html :'<div id="mapPic"><div class="nav">'
- +'<div class="up" id="up"></div><div class="right" id="right"></div>'
- +'<div class="down" id="down"></div><div class="left" id="left"></div>'
- +'<div class="zoom" id="zoom"></div><div class="in" id="in"></div>'
- +'<div class="out" id="out"></div></div>'
- +'<img id="view-image" src="" border="0" style="cursor: url(images/openhand_8_8.cur), default;" > </div>'
- }],
- buttons: [{
- text: '取消',
- handler: function() {
- image_window.hide();
- }
- }],
- listeners: {
- 'show': function(c) {
- pageInit();
- }
- }
- });
- /**
- * 初始化
- */
- function pageInit(){
- var image = Ext.get('view-image');
- if(image!=null){
- Ext.get('view-image').on({
- 'mousedown':{fn:function(){this.setStyle('cursor','url(images/closedhand_8_8.cur),default;');},scope:image},
- 'mouseup':{fn:function(){this.setStyle('cursor','url(images/openhand_8_8.cur),move;');},scope:image},
- 'dblclick':{fn:function(){
- zoom(image,true,1.2);
- }
- }});
- new Ext.dd.DD(image, 'pic');
- //image.center();//图片居中
- //获得原始尺寸
- image.osize = {
- width:image.getWidth(),
- height:image.getHeight()
- };
- Ext.get('up').on('click',function(){imageMove('up',image);}); //向上移动
- Ext.get('down').on('click',function(){imageMove('down',image);}); //向下移动
- Ext.get('left').on('click',function(){imageMove('left',image);}); //左移
- Ext.get('right').on('click',function(){imageMove('right',image);}); //右移动
- Ext.get('in').on('click',function(){zoom(image,true,1.5);}); //放大
- Ext.get('out').on('click',function(){zoom(image,false,1.5);}); //缩小
- Ext.get('zoom').on('click',function(){restore(image);}); //还原
- }
- };
- /**
- * 图片移动
- */
- function imageMove(direction, el) {
- el.move(direction, 50, true);
- }
- /**
- *
- * @param el 图片对象
- * @param type true放大,false缩小
- * @param offset 量
- */
- function zoom(el,type,offset){
- var width = el.getWidth();
- var height = el.getHeight();
- var nwidth = type ? (width * offset) : (width / offset);
- var nheight = type ? (height * offset) : (height / offset);
- var left = type ? -((nwidth - width) / 2):((width - nwidth) / 2);
- var top = type ? -((nheight - height) / 2):((height - nheight) / 2);
- el.animate(
- {
- height: {to: nheight, from: height},
- width: {to: nwidth, from: width},
- left: {by:left},
- top: {by:top}
- },
- null,
- null,
- 'backBoth',
- 'motion'
- );
- }
- /**
- * 图片还原
- */
- function restore(el) {
- var size = el.osize;
- //自定义回调函数
- function center(el,callback){
- el.center();
- callback(el);
- }
- el.fadeOut({callback:function(){
- el.setSize(size.width, size.height, {callback:function(){
- center(el,function(ee){//调用回调
- ee.fadeIn();
- });
- }});
- }
- });
- }
4、调用该窗体js
- image_window.show();
- image_window.setTitle('图片预览-' + array[0].pigCode + '[' + picType + ']');
- Ext.get('view-image').dom.src = 'upload/' + array[0].picName;
说明:在程序的任意处可以直接调用该窗体,只需要将src指向图片地址。
5、用到的其他css及image可以从 地址:http://yourgame.iteye.com/blog/477600 下载
相关推荐
标题中的“Extjs之--图片浏览器”指的是使用Ext JS框架构建的一个用于查看和浏览图片的应用程序。Ext JS是一个流行的JavaScript库,它提供了丰富的组件和工具,用于开发复杂的Web应用程序。这个图片浏览器可能是一个...
下面将详细阐述EXTJS图片查看器的关键知识点。 1. **EXTJS框架**:EXTJS是一个用JavaScript编写的开源UI库,它提供了大量的可重用组件和布局管理,能够帮助开发者快速构建复杂的Web应用界面。它支持数据绑定、组件...
ExtJS4图片浏览器是一款基于ExtJS4框架开发的用于展示和浏览图片的应用程序。ExtJS是一个强大的JavaScript库,专门用于构建富客户端Web应用程序。这款图片浏览器利用了ExtJS4的组件化、数据绑定和事件处理等特性,为...
标题中的“apring+extjs 数据库浏览器”指的是一个基于Spring框架和ExtJS库开发的数据库管理工具。这个工具允许用户以图形化的方式浏览和操作数据库,提供了对数据库的便捷访问和管理功能。 Spring是一个开源的Java...
本教程将深入探讨如何在ExtJS中实现图片的批量上传功能,以及与之相关的批量删除操作。 首先,批量上传图片的核心是利用HTML5的File API,它允许用户在不离开当前页面的情况下读取、处理和上传本地文件。在ExtJS中...
在批量图片预览上传场景中,EXTJS可以用于构建前端交互界面,处理用户的选择和上传逻辑。 1. **EXTJS组件使用**:EXTJS 提供了FileField组件,可以用来接收用户选择的文件。配合UploadButton或FormPanel,可以方便...
这个主题主要关注如何在ExtJS的HTMLEditor中实现图片的上传和添加网络图片功能。 首先,理解ExtJS HTMLEditor的基本结构和工作原理是至关重要的。HTMLEditor是一个组件,它可以将HTML代码作为输入,并提供类似于...
在ExtJS 4.2中,上传组件可能需要配合第三方插件,如SWFUpload或jQuery File Upload,以实现浏览器兼容性和异步上传。这些插件会处理文件选择、进度显示、错误处理等复杂逻辑。 删除图片的功能可能需要结合服务器端...
例如,对于图片上传,可能使用了像Plupload这样的文件上传库,它提供了多浏览器兼容性、断点续传等功能。同时,文章可能还会介绍如何将HtmlEditor与后端服务(如PHP、Java或Node.js)集成,实现文件的接收和存储。 ...
在"ExtJS带进度条的多文件上传和图片预览"这个项目中,它展示了如何利用ExtJS来实现一个高效且用户友好的文件上传功能,尤其适用于处理大量或大体积的文件。下面将详细介绍这个项目中的关键知识点。 1. **ExtJS组件...
Swfupload通过在后台运行的Flash对象与JavaScript进行通信,从而实现了在浏览器中进行文件上传的高级功能。 在这个多图上传插件中,Swfupload被整合到了Extjs的环境中,这意味着用户可以通过Extjs的组件和API来控制...
资源(resources)目录包含了EXTJS 2.1运行所需的各种静态资源,如CSS样式文件、图片和JavaScript库的本地化文件。这些资源对于定制和美化EXTJS应用的外观至关重要,因为它们定义了控件的颜色、尺寸和图标等视觉元素...
2. SVG图标:现代浏览器支持SVG格式的图标,这提供了更好的清晰度和缩放效果。图标可能作为SVG文件提供,可以直接嵌入HTML或通过CSS引用。 3. Font图标:另一种常见的方式是使用图标字体(Icon Fonts),如Font ...
ExtJs 支持各种现代浏览器,包括但不限于 Chrome、Firefox 和 Edge 等。此外,ExtJs 的强大之处还在于其对组件的高度定制能力,允许开发者根据项目需求调整各个细节。 #### 二、案例背景与目标 本案例的目标是实现...
ExtJS4支持大部分主流浏览器,包括从IE6到最新版本的Chrome等。尽管如此,为了获得最佳的开发和用户体验,推荐使用较新的浏览器版本,如Google Chrome,这是因为新版本的浏览器通常提供了更好的JavaScript引擎性能和...
2. SVG图形:利用SVG矢量图形可以创建透明度可调的水印,适用于现代浏览器。 3. Canvas绘制:在HTML5的Canvas元素上绘制水印,可以实现更复杂的效果,比如动态水印。 4. 图像处理库:如JQuery插件或纯JavaScript库,...
ExtJS4学习笔记(十)---ExtJS4图片验证码的实现 ExtJS4学习笔记(十一)---TabPanel ExtJS4学习笔记(十三)---上传文件(upload) ExtJS4学习笔记(十二)---选项卡(tabs) ExtJS4学习笔记(十五)---Ext.data.Model ExtJS4学习...
5. `resources`:这里是EXTJS的UI资源,如CSS样式文件、图片等,它们用于构建和美化EXTJS组件。 6. `source`:未经压缩的EXTJS完整源码,遵循Lesser GNU (LGPL) 开源协议,方便开发者查看和学习EXTJS的内部实现。 ...
EXTJS3.0是一款强大的JavaScript框架,用于构建富客户端应用程序。它提供了丰富的组件库和灵活的布局管理,使得开发者能够创建功能丰富的Web应用界面。在"EXTJS3.0多文件上传组件"中,我们主要关注的是如何利用EXTJS...