`

Extjs图片浏览器

阅读更多

1、效果图


2、此实例是在  http://yourgame.iteye.com/blog/477600 基础上进行改进并修改。 

 

3、 js代码

 

Js代码  收藏代码
  1. var image_window = new Ext.Window({  
  2.     id: 'image-window',  
  3.     title : '图片浏览',  
  4.     width : 750,  
  5.     height : 500,  
  6.     resizable : false,  
  7.     closeAction :'hide',  
  8.     layout:'border',  
  9.     items:[{  
  10.         xtype: 'panel',  
  11.         region: 'center',  
  12.         layout:'fit',  
  13.         bodyStyle : 'background-color:#E5E3DF;',  
  14.         frame:false,  
  15.         border:false,  
  16.         html :'<div id="mapPic"><div class="nav">'  
  17.             +'<div class="up" id="up"></div><div class="right" id="right"></div>'  
  18.             +'<div class="down" id="down"></div><div class="left" id="left"></div>'  
  19.             +'<div class="zoom" id="zoom"></div><div class="in" id="in"></div>'  
  20.             +'<div class="out" id="out"></div></div>'  
  21.             +'<img id="view-image" src="" border="0" style="cursor: url(images/openhand_8_8.cur), default;" > </div>'  
  22.     }],  
  23.     buttons: [{  
  24.         text: '取消',  
  25.         handler: function() {  
  26.             image_window.hide();  
  27.         }  
  28.     }],  
  29.     listeners: {  
  30.         'show'function(c) {  
  31.             pageInit();  
  32.         }  
  33.     }  
  34. });  
  35.   
  36.   
  37. /** 
  38.  * 初始化 
  39.  */  
  40. function pageInit(){  
  41.     var image = Ext.get('view-image');  
  42.   
  43.     if(image!=null){  
  44.         Ext.get('view-image').on({  
  45.             'mousedown':{fn:function(){this.setStyle('cursor','url(images/closedhand_8_8.cur),default;');},scope:image},  
  46.             'mouseup':{fn:function(){this.setStyle('cursor','url(images/openhand_8_8.cur),move;');},scope:image},  
  47.             'dblclick':{fn:function(){  
  48.                 zoom(image,true,1.2);  
  49.             }  
  50.         }});  
  51.         new Ext.dd.DD(image, 'pic');  
  52.           
  53.         //image.center();//图片居中  
  54.           
  55.         //获得原始尺寸  
  56.         image.osize = {  
  57.             width:image.getWidth(),  
  58.             height:image.getHeight()  
  59.         };  
  60.       
  61.         Ext.get('up').on('click',function(){imageMove('up',image);});       //向上移动  
  62.         Ext.get('down').on('click',function(){imageMove('down',image);});   //向下移动  
  63.         Ext.get('left').on('click',function(){imageMove('left',image);});   //左移  
  64.         Ext.get('right').on('click',function(){imageMove('right',image);}); //右移动  
  65.         Ext.get('in').on('click',function(){zoom(image,true,1.5);});        //放大  
  66.         Ext.get('out').on('click',function(){zoom(image,false,1.5);});      //缩小  
  67.         Ext.get('zoom').on('click',function(){restore(image);});            //还原  
  68.     }  
  69. };  
  70.   
  71.   
  72. /** 
  73.  * 图片移动 
  74.  */  
  75. function imageMove(direction, el) {  
  76.     el.move(direction, 50, true);  
  77. }  
  78.   
  79.   
  80. /** 
  81.  *  
  82.  * @param el 图片对象 
  83.  * @param type true放大,false缩小 
  84.  * @param offset 量 
  85.  */  
  86. function zoom(el,type,offset){  
  87.     var width = el.getWidth();  
  88.     var height = el.getHeight();  
  89.     var nwidth = type ? (width * offset) : (width / offset);  
  90.     var nheight = type ? (height * offset) : (height / offset);  
  91.     var left = type ? -((nwidth - width) / 2):((width - nwidth) / 2);  
  92.     var top =  type ? -((nheight - height) / 2):((height - nheight) / 2);   
  93.     el.animate(  
  94.         {  
  95.             height: {to: nheight, from: height},  
  96.             width: {to: nwidth, from: width},  
  97.             left: {by:left},  
  98.             top: {by:top}  
  99.         },  
  100.         null,        
  101.         null,       
  102.         'backBoth',  
  103.         'motion'  
  104.     );  
  105. }  
  106.   
  107.   
  108. /** 
  109.  * 图片还原 
  110.  */  
  111. function restore(el) {  
  112.     var size = el.osize;  
  113.       
  114.     //自定义回调函数  
  115.     function center(el,callback){  
  116.         el.center();  
  117.         callback(el);  
  118.     }  
  119.     el.fadeOut({callback:function(){  
  120.         el.setSize(size.width, size.height, {callback:function(){  
  121.             center(el,function(ee){//调用回调  
  122.                 ee.fadeIn();  
  123.             });  
  124.         }});  
  125.     }  
  126.     });  
  127. }  

 

4、调用该窗体js

Js代码  收藏代码
  1. image_window.show();  
  2. image_window.setTitle('图片预览-' + array[0].pigCode + '[' + picType + ']');  
  3. Ext.get('view-image').dom.src = 'upload/' + array[0].picName;  

 

说明:在程序的任意处可以直接调用该窗体,只需要将src指向图片地址。

 

5、用到的其他css及image可以从 地址:http://yourgame.iteye.com/blog/477600 下载

分享到:
评论

相关推荐

    Extjs之--图片浏览器

    标题中的“Extjs之--图片浏览器”指的是使用Ext JS框架构建的一个用于查看和浏览图片的应用程序。Ext JS是一个流行的JavaScript库,它提供了丰富的组件和工具,用于开发复杂的Web应用程序。这个图片浏览器可能是一个...

    EXTJS 强大的图片查看器 仿windows照片查看器

    下面将详细阐述EXTJS图片查看器的关键知识点。 1. **EXTJS框架**:EXTJS是一个用JavaScript编写的开源UI库,它提供了大量的可重用组件和布局管理,能够帮助开发者快速构建复杂的Web应用界面。它支持数据绑定、组件...

    Extjs4 图片浏览器

    ExtJS4图片浏览器是一款基于ExtJS4框架开发的用于展示和浏览图片的应用程序。ExtJS是一个强大的JavaScript库,专门用于构建富客户端Web应用程序。这款图片浏览器利用了ExtJS4的组件化、数据绑定和事件处理等特性,为...

    apring+extjs 数据库浏览器

    标题中的“apring+extjs 数据库浏览器”指的是一个基于Spring框架和ExtJS库开发的数据库管理工具。这个工具允许用户以图形化的方式浏览和操作数据库,提供了对数据库的便捷访问和管理功能。 Spring是一个开源的Java...

    EXtjs 图片批量上传

    本教程将深入探讨如何在ExtJS中实现图片的批量上传功能,以及与之相关的批量删除操作。 首先,批量上传图片的核心是利用HTML5的File API,它允许用户在不离开当前页面的情况下读取、处理和上传本地文件。在ExtJS中...

    批量图片预览上传(extjs,支持html5和flash)

    在批量图片预览上传场景中,EXTJS可以用于构建前端交互界面,处理用户的选择和上传逻辑。 1. **EXTJS组件使用**:EXTJS 提供了FileField组件,可以用来接收用户选择的文件。配合UploadButton或FormPanel,可以方便...

    extjs htmleditor 图片上传和添加网络图片编辑器

    这个主题主要关注如何在ExtJS的HTMLEditor中实现图片的上传和添加网络图片功能。 首先,理解ExtJS HTMLEditor的基本结构和工作原理是至关重要的。HTMLEditor是一个组件,它可以将HTML代码作为输入,并提供类似于...

    ext_image.rar_ext_image_extjs_extjs 4.2 img_extjs image_extjs图片上

    在ExtJS 4.2中,上传组件可能需要配合第三方插件,如SWFUpload或jQuery File Upload,以实现浏览器兼容性和异步上传。这些插件会处理文件选择、进度显示、错误处理等复杂逻辑。 删除图片的功能可能需要结合服务器端...

    Extjs的HtmlEidtor富文本编辑器的使用和图片上传显示的实现

    例如,对于图片上传,可能使用了像Plupload这样的文件上传库,它提供了多浏览器兼容性、断点续传等功能。同时,文章可能还会介绍如何将HtmlEditor与后端服务(如PHP、Java或Node.js)集成,实现文件的接收和存储。 ...

    ExtJS带进度条的多文件上传和图片预览

    在"ExtJS带进度条的多文件上传和图片预览"这个项目中,它展示了如何利用ExtJS来实现一个高效且用户友好的文件上传功能,尤其适用于处理大量或大体积的文件。下面将详细介绍这个项目中的关键知识点。 1. **ExtJS组件...

    Extjs Swfupload 多图上传插件绝对可运行

    Swfupload通过在后台运行的Flash对象与JavaScript进行通信,从而实现了在浏览器中进行文件上传的高级功能。 在这个多图上传插件中,Swfupload被整合到了Extjs的环境中,这意味着用户可以通过Extjs的组件和API来控制...

    extjs2.1 开发包

    资源(resources)目录包含了EXTJS 2.1运行所需的各种静态资源,如CSS样式文件、图片和JavaScript库的本地化文件。这些资源对于定制和美化EXTJS应用的外观至关重要,因为它们定义了控件的颜色、尺寸和图标等视觉元素...

    extjs加水印

    2. SVG图形:利用SVG矢量图形可以创建透明度可调的水印,适用于现代浏览器。 3. Canvas绘制:在HTML5的Canvas元素上绘制水印,可以实现更复杂的效果,比如动态水印。 4. 图像处理库:如JQuery插件或纯JavaScript库,...

    extjs icon小图标

    2. SVG图标:现代浏览器支持SVG格式的图标,这提供了更好的清晰度和缩放效果。图标可能作为SVG文件提供,可以直接嵌入HTML或通过CSS引用。 3. Font图标:另一种常见的方式是使用图标字体(Icon Fonts),如Font ...

    ExtJs查看图片控件,并且图片可以拖动例子.docx

    ExtJs 支持各种现代浏览器,包括但不限于 Chrome、Firefox 和 Edge 等。此外,ExtJs 的强大之处还在于其对组件的高度定制能力,允许开发者根据项目需求调整各个细节。 #### 二、案例背景与目标 本案例的目标是实现...

    ExtJS4之初体验

    ExtJS4支持大部分主流浏览器,包括从IE6到最新版本的Chrome等。尽管如此,为了获得最佳的开发和用户体验,推荐使用较新的浏览器版本,如Google Chrome,这是因为新版本的浏览器通常提供了更好的JavaScript引擎性能和...

    ExtJS4中文教程2 开发笔记 chm

    ExtJS4学习笔记(十)---ExtJS4图片验证码的实现 ExtJS4学习笔记(十一)---TabPanel ExtJS4学习笔记(十三)---上传文件(upload) ExtJS4学习笔记(十二)---选项卡(tabs) ExtJS4学习笔记(十五)---Ext.data.Model ExtJS4学习...

    界面框架extjs学习笔记

    5. `resources`:这里是EXTJS的UI资源,如CSS样式文件、图片等,它们用于构建和美化EXTJS组件。 6. `source`:未经压缩的EXTJS完整源码,遵循Lesser GNU (LGPL) 开源协议,方便开发者查看和学习EXTJS的内部实现。 ...

    EXTJS3.0多文件上传组件

    EXTJS3.0是一款强大的JavaScript框架,用于构建富客户端应用程序。它提供了丰富的组件库和灵活的布局管理,使得开发者能够创建功能丰富的Web应用界面。在"EXTJS3.0多文件上传组件"中,我们主要关注的是如何利用EXTJS...

Global site tag (gtag.js) - Google Analytics