`
liuxi1024
  • 浏览: 390894 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Extjs之--图片浏览器

阅读更多

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 下载

 

  • 大小: 505.1 KB
分享到:
评论
3 楼 paruke 2014-07-24  
请问这个能加上图片旋转功能么 我试了一下 发现寻找中心点是个问题
2 楼 liuxi1024 2012-08-21  
好,我把图片和css作为附件提交
1 楼 waainli 2012-08-21  
求CSS和image代码。

相关推荐

    extjs实例--------嗖嗖嗖

    2. **resources**:这个目录通常包含ExtJS应用所需的样式表(CSS)、图片和其他资源。这些文件用于定义UI的外观和感觉,例如按钮、表格、窗口等组件的样式。开发者可能会在这里找到`.css`文件,`.png`或`.gif`图像...

    Extjs4 图片浏览器

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

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

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

    Extjs4-学习指南

    - **图片验证码的实现**:增加安全验证机制。 - **TabPanel**:创建标签页布局。 - **选项卡 (tabs)**:实现动态切换不同的页面。 - **上传文件**:实现文件上传功能。 - **ComponentQuery**:使用组件查询 API 进行...

    extjs-700-docs离线文档.zip

    例如,它可能支持更多的浏览器兼容性,提供了新的组件和布局选项,以及优化了性能和用户体验。此外,7.0.0版本可能还修复了一些已知的问题,并对API进行了更新和扩展。 2. **离线文档的优势**: 离线文档允许开发者...

    extjs-3.2.1包和相关资料.zip

    这意味着无论后端采用Java、PHP、.NET还是其他技术,只要提供符合JSON或XML格式的数据接口,ExtJS都能通过Ajax请求与之通信,实现数据的动态加载和更新。 在压缩包内的“extjs包和相关资料”中,你可能找到以下内容...

    EXtjs 图片批量上传

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

    ExtJS4之初体验

    ### ExtJS4之初体验 #### 一、准备工作 在开始使用ExtJS4进行开发之前,我们需要做一些基础的准备工作,确保开发环境已经搭建好,并且能够顺利地运行第一个ExtJS4程序。 ##### 1. 浏览器兼容性 ExtJS4支持大部分...

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

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

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

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

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

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

    apring+extjs 数据库浏览器

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

    ExtJS4中文教程2 开发笔记 chm

    ExtJS 4 实例之数据包 ExtJS 4中动态加载的路径设置 Extjs4 API文档阅读(一)——类系统(Class System) Extjs4 API文档阅读(三)——布局和容器 Extjs4 API文档阅读(二)——MVC构架(上) Extjs4 API文档阅读(二)...

    让我们开始EXTJS之旅

    由于ExtJS本质上是一套基于JavaScript的前端组件库,因此在不涉及服务器交互的情况下,可以在本地浏览器环境中直接运行。 以下是一个简单的“Hello World”示例代码(代码2-1): ```html &lt;TITLE&gt;ExtJS2-Hello...

    ExtJS_V2.0教程.pdf

    - **跨平台兼容性**:由于它是用JavaScript编写的,所以可以在任何支持JavaScript的浏览器中运行,无需考虑后端技术栈。 - **灵活性**:适用于多种开发环境,包括但不限于.NET、Java和PHP等。 - **易于集成**:...

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

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

    ext_image.rar_ext_image_extjs_extjs 4.2 img_extjs image_extjs图片上

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

    界面框架extjs学习笔记

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

Global site tag (gtag.js) - Google Analytics