- 浏览: 194137 次
- 性别:
- 来自: 上海
文章分类
最新评论
-
zm8859001:
不错,我也遇到这样的问题了!autoLoad,加载后总是出现页 ...
ExtJS中新增tabpanel加载其它完整页面(viewport布局中) -
辉煌之至:
不会啊,求
ExtJS+S2SH:使用Grid加载后台数据并分页(推荐给新学的朋友) -
chenglnb:
还不错 要是能实现复选框的选定就好了
ExtJS+S2SH:使用Grid加载后台数据并分页(推荐给新学的朋友) -
keylab:
运行你这个例子,发现有 bug啊,不能还原等等的
ExtJS之图片浏览器(转载推荐) -
bcwt:
高手啊,正好遇到这个问题,谢谢!
Class org.apache.struts2.json.JSONWriter can not access a member of *
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();
- });
- }});
- }
- });
- }
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;
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 下载
发表评论
-
java中怎样反向显示字符串(包含实际开发中的例子)(转载)
2011-03-31 07:27 1209法1.借助StringBuilderSt ... -
ExtJs之grid使用详解(觉得很全面,推荐)
2011-03-29 09:41 27244Ext2.0是一个javascript框架,它的Grid ... -
ExtJS+S2SH:使用Grid加载后台数据并分页(推荐给新学的朋友)
2011-03-26 16:36 3262今天琢磨了半天,终于把ExtJS+S2SH中使用grid加载后 ... -
ExtJs中一个完整GridPanel实例(转)
2011-03-25 15:07 10890博客地址http://blog.csdn.net/ws_hgo ... -
ExtJs之GridPanel、FormPanel实例推荐 (转)
2011-03-25 15:04 5599转自:http://blog.csdn.net/jianxin ... -
ExtJS使用css实现透明背景(IE支持)
2011-03-11 21:49 1148应用PNG图片的透明或 ... -
ExtJS中关于ComboBox加载后台数据
2011-03-06 20:39 5929今天忙了一天,终于解决了让我头疼的ComboBox加载后台数据 ... -
ExtJs的ComboBox级联实现(转)
2011-03-05 20:48 1365ExtJs的ComboBox级联实现 1、首先定义store ... -
ExtJS 给textfield赋值的方法总结
2011-03-02 19:54 1658var value="值"; (1) ... -
ExtJS中新增tabpanel加载其它完整页面(viewport布局中)
2011-03-01 20:40 4527这个问题困扰了我两天 ... -
ExtJS之toolbars(很漂亮的界面)
2010-12-04 15:37 2414/*! * Ext JS Library 3.3.0 ... -
ExtJs+Json实践例子(2)
2010-11-29 10:50 2149// 初始化数据 function initData() { ... -
ExtJs+Json实践例子(1)(因篇幅过长,例子分为两部分)(转)
2010-11-29 10:48 1793ExtJS本质上也是一个A ... -
ExtJs实践:支持返回Json格式的ComboBox(转)
2010-11-28 19:52 1394假如我们程序中有产品(Product)和产品分类(Cat ... -
Extjs整合struts2(1)
2010-11-16 09:51 1100步骤1、在项目中添加struts2的库。如下 步骤2、 ... -
Ext中的get、getDom、getCmp、getBody、getDoc的区别
2010-11-09 19:57 816Ext中的get、getDom、getCmp、getBod ... -
Ext JS 入门之panel,TabPanel的简单使用
2010-10-17 14:12 1227<!DOCTYPE html PUBLIC " ...
相关推荐
ExtJS4图片浏览器是一款基于ExtJS4框架开发的用于展示和浏览图片的应用程序。ExtJS是一个强大的JavaScript库,专门用于构建富客户端Web应用程序。这款图片浏览器利用了ExtJS4的组件化、数据绑定和事件处理等特性,为...
标题中的“Extjs之--图片浏览器”指的是使用Ext JS框架构建的一个用于查看和浏览图片的应用程序。Ext JS是一个流行的JavaScript库,它提供了丰富的组件和工具,用于开发复杂的Web应用程序。这个图片浏览器可能是一个...
在给定的“EXTJS 强大的图片查看器 仿windows照片查看器”项目中,我们可以了解到,这个组件是EXTJS框架的一个扩展,旨在提供类似Windows操作系统中照片查看器的功能。下面将详细阐述EXTJS图片查看器的关键知识点。 ...
在ExtJS中,图片渲染效果是实现用户界面美观和交互性的重要组成部分。本文将深入探讨ExtJS图片渲染的效果及其应用。 首先,我们要了解ExtJS中的图片渲染基础。在ExtJS中,图片通常以`Image`组件的形式出现,它可以...
本教程将深入探讨如何在ExtJS中实现图片的批量上传功能,以及与之相关的批量删除操作。 首先,批量上传图片的核心是利用HTML5的File API,它允许用户在不离开当前页面的情况下读取、处理和上传本地文件。在ExtJS中...
### Extjs 中关于 Cookie 的操作 #### 一、引言 在 Web 开发中,Cookie 是一种常用的数据存储方式,用于保存用户的一些基本信息或者状态,从而实现网站的个性化设置或登录状态保持等功能。Extjs 作为一种强大的 ...
漂亮的Extjs图片展示组件实例,类似于幻灯片,可直接拿去用,非常不错的哦
这个主题主要关注如何在ExtJS的HTMLEditor中实现图片的上传和添加网络图片功能。 首先,理解ExtJS HTMLEditor的基本结构和工作原理是至关重要的。HTMLEditor是一个组件,它可以将HTML代码作为输入,并提供类似于...
总结一下,实现"ExtJs框架系列之图片批量显示,上传,删除"涉及以下主要步骤: 1. 创建一个用于显示图片的组件,如`DataView`,并绑定图片数据。 2. 实现文件上传功能,使用`FileField`和Ajax请求将图片上传至...
在本资源中,我们关注的是"extjs-ico",这是一个与ExtJS相关的图标集合,包含16x16和24x24两种尺寸的PNG格式图片。 在Web开发中,图标是提升用户体验和界面美观度的重要元素。ExtJS-ico图片库为开发者提供了多种...
标题中的“apring+extjs 数据库浏览器”指的是一个基于Spring框架和ExtJS库开发的数据库管理工具。这个工具允许用户以图形化的方式浏览和操作数据库,提供了对数据库的便捷访问和管理功能。 Spring是一个开源的Java...
ExtJs图片按钮控件是ExtJs框架中一种增强的按钮组件,它允许开发者在按钮上显示图片,以提供更丰富的用户界面。这个控件通常用于创建具有视觉吸引力的交互式UI元素,比如导航按钮或者操作按钮。下面我们将深入探讨...
1.ExtJS自定义组件,图片按钮为例. 2.此图片按钮背景完全为图片,没有边框,需要使用者提供2张图片,一张初始化用,一张点击后用,可在'imgPaths:'属性里填写,格式为'01.jpg~02.jpg' 3.解压后请将所有附件放置您extjs...
例如,对于图片上传,可能使用了像Plupload这样的文件上传库,它提供了多浏览器兼容性、断点续传等功能。同时,文章可能还会介绍如何将HtmlEditor与后端服务(如PHP、Java或Node.js)集成,实现文件的接收和存储。 ...
在批量图片预览上传场景中,EXTJS可以用于构建前端交互界面,处理用户的选择和上传逻辑。 1. **EXTJS组件使用**:EXTJS 提供了FileField组件,可以用来接收用户选择的文件。配合UploadButton或FormPanel,可以方便...
在"Extjs图片上传 带过滤和缩略图"这个主题中,我们将深入探讨如何使用ExtJS实现图片上传功能,同时结合过滤和缩略图显示,以提升用户体验。 1. **图片上传组件**: 在ExtJS中,可以使用`Ext.form.FileField`或`...
此外,理解如何在浏览器中调试ExtJS应用也是至关重要的,因为这有助于定位和修复问题。 进入"工具栏和控件"部分,你将学习ExtJS中的各种组件,如按钮、表格、面板、表单等。这些组件是构建用户界面的基础,它们可以...
标题中的“extjs浏览器问题”指的是使用ExtJS框架在不同浏览器上出现的兼容性问题,特别是针对Internet Explorer(IE)浏览器出现的语法错误。ExtJS是一个用于构建富客户端Web应用程序的JavaScript库,它依赖于现代...
在EXTJS框架中,图片上传功能是一个常见的需求,尤其在构建富客户端应用时。EXTJS提供了强大的组件模型,使得开发人员能够轻松实现这样的功能。本文将深入探讨如何使用EXTJS来实现图片上传,包括多图预览、上传以及...