easyui多图片上传+预览切换+支持IE8
引入css和js:
<link href="${pageContext.request.contextPath}/plugin/dialog/dialog.css" rel="stylesheet" type="text/css">
<script type="text/javascript" src="${pageContext.request.contextPath}/plugin/dialog/dialog.js"></script>
代码:
<!--------------- 多图片+上下切换预览功能开始 -----Autohr:li_hao------------------>
<div class="fitem item2" style="height:auto">
<label style="vertical-align:top">应用截图 </label>
<span>
<jsp:include page="/plugin/dialog/uploadManyImgs.jsp">
<jsp:param value="126" name="width"/>
<jsp:param value="26" name="height"/>
<jsp:param value="" name="assetId"/>
<jsp:param value="setfileid" name="hiddenId"/>
</jsp:include>
</span>
</div>
<div style="display: block;width: 100%;">
<table id="assetTable">
<thead>
<tr>
<th data-options="field:'id',width:80,align:'center',sortable:true,formatter:imgformater">应用截图</th>
<th data-options="field:'name',width:80,align:'center'">名称</th>
<th data-options="field:'fileSize',width:80,align:'center'">文件大小(MB)</th>
<!-- <th data-options="field:'createTimeString',width:180,align:'center'">上传日期</th> -->
<!-- <th data-options="field:'createUserName',width:80,align:'center'">上传人</th> -->
<th data-options="field:'createTimeString',width:80,align:'center',formatter:operformatter">删除</th>
</tr>
</thead>
</table>
<input type="hidden" id="appimgs" name="microAppEntity.appimgs" value="${microAppEntity.appimgs }">
</div>
<div class="mask"></div>
<div class="dialog">
<div>
<div style="width:130px;height:25px;margin:0 auto; ">
<img style='width:30px;height:30px;cursor:pointer;' onclick='toLeft()' src='${pageContext.request.contextPath}/plugin/dialog/images/left.png'>
<img style='width:30px;height:30px;margin-left:60px;cursor:pointer;' onclick='toRight()' src='${pageContext.request.contextPath}/plugin/dialog/images/right.png'>
</div>
</div>
<a href="javascript:void(0)" class="close" title="关闭" style="color:black;margin-bottom:20px;">关闭</a>
<div class="dialog-content">
</div>
</div>
<input type="hidden" id="imgid_before" name="imgid_before">
<input type="hidden" id="imgid_after" name="imgid_after">
<input type="hidden" id="imgindex" name="imgindex">
<!--------------- 多图片+上下切换预览功能结束 -----Autohr:li_hao------------------>
js代码:
$(document).ready(function() {
//-------------------------- 多图片+预览功能(table数据加载)开始 -----Autohr:li_hao-----------------------------
getDataPagination("assetTable","",null,false);
//修改页面加载图片列表
if($("#method").val() == 'modify'){
var array = $("#appimgs").val().split(",");
if(array!="" && array!=null){
for(var i=0;i<array.length;i++){
var number = 0;
$.post("${pageContext.request.contextPath }/assetmgr/asset_queryOne.do",{assetId:array[i]},
function(data,status){
var data = eval('(' + data + ')');
var obj = new Object();
obj.row = data;
var size = Number(data.fileSize)/1024/1024;
data.fileSize = size.toFixed(2);
$('#assetTable').datagrid('insertRow',{index: number, row:data});
number++;
});
}
}
}
//-------------------------- 多图片+预览功能(table数据加载)结束 -----Autohr:li_hao-----------------------------
});
//---------- 多图片+预览功能开始(弹出层:plugin/dialog) -----Autohr:li_hao-----------------------------
function imgformater(value,row,index) {
return "<img width=35 height=35 style='margin-top:4px;cursor:pointer;' onclick='showMask("+row.id+","+index+")' src='${pageContext.request.contextPath}/upload/upload_send.do?id="+row.id+"'>";
}
//弹出层
function showMask(id,index){
imgidHandle(index);
Dialog.open(450,450,'${pageContext.request.contextPath}/upload/upload_send.do?id='+id);
}
//上一张、下一张
function toLeftOrRight(id,index){
imgidHandle(index);
$(".imgclass").attr('src','${pageContext.request.contextPath}/upload/upload_send.do?id='+id);
}
//上一张、下一张id处理逻辑
function imgidHandle(index){
var rows = $('#assetTable').datagrid('getData').rows;
var imgid_before;
var imgid_after
if(index==0){ //第一张图片
if(rows.length==1){ //只有一张图片
imgid_before="";
imgid_after="";
}else{
imgid_before="";
imgid_after=rows[index+1].id;
}
}else if(index==rows.length-1){ //最后一张图片
imgid_before=rows[index-1].id;
imgid_after="";
}else{ //中间
imgid_before=rows[index-1].id;
imgid_after=rows[index+1].id;
}
$("#imgid_before").val(imgid_before);
$("#imgid_after").val(imgid_after);
$("#imgindex").val(index);
}
//上一张
function toLeft(){
var imgid_before = $("#imgid_before").val(); //上一张图片id
var index_before = Number($("#imgindex").val())-Number(1); //上一行index
if(imgid_before==""){
alert("已经是第一张图片了!")
}else{
toLeftOrRight(imgid_before,index_before);
}
}
//下一张
function toRight(){
var imgid_after = $("#imgid_after").val(); //下一张图片id
var index_after = Number($("#imgindex").val())+Number(1); //下一行index
if(imgid_after==""){
alert("已经最后一张图片了!")
}else{
toLeftOrRight(imgid_after,index_after);
}
}
function operformatter(value,row,index) {
return "<a href=\"javascript:delAttach('"+ row.id +"')\">" + "删除" +"</a>";
}
function delAttach(id){
var rows = $('#assetTable').datagrid('getData').rows;
for ( var i = 0; i < rows.length; i++) {
if(id == rows[i].id){
$('#assetTable').datagrid('deleteRow',i);
}
}
}
//---------- 多图片+预览功能结束(弹出层:plugin/dialog) -----Autohr:li_hao-----------------------------
easyui多图片上传+预览切换+支持IE8的更多相关文章
- 兼容好的JS图片上传预览代码
转 : http://www.codefans.net/articles/1395.shtml 兼容好的JS图片上传预览代码 (谷歌,IE11) <html xmlns="http:/ ...
- Jquery图片上传预览效果
uploadPreview.js jQuery.fn.extend({ uploadPreview: function (opts) { var _self = this, _this = $(thi ...
- [前端 4] 使用Js实现图片上传预览
导读:今天做图片上传预览,刚开始的做法是,先将图片上传到Nginx,然后重新加载页面才能看到这个图片.在这个过程中,用户一直都看不到自己上传的文件是什么样子.Ps:我发现我真的有强迫症了,都告诉我说不 ...
- Javascript之图片上传预览
使用Javascript之图片上传预览,我们无需上传到服务器中,兼容所有浏览器. 关键方法是使用微软库filter:progid:DXImageTransform.Microsoft.AlphaIma ...
- HTML5 图片上传预览
<!DOCTYPE html> <html lang="zh-cn"> <head> <meta charset="utf-8& ...
- ASP.NET工作笔记之一:图片上传预览及无刷新上传
转自:http://www.cnblogs.com/sibiyellow/archive/2012/04/27/jqueryformjs.html 最近项目里面涉及到无刷新上传图片的功能,其实也就是上 ...
- php 图片上传预览(转)
网上找的图片上传预览: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http:/ ...
- js实现图片上传预览及进度条
原文js实现图片上传预览及进度条 最近在做图片上传的时候,由于产品设计的比较fashion,上网找了比较久还没有现成的,因此自己做了一个,实现的功能如下: 1:去除浏览器<input type= ...
- html 图片上传预览
Html5 upload img 2012年12月27日 20:36 <!DOCTYPE HTML> <html> <head> <meta http-equ ...
随机推荐
- css3中trastion,transform,animation基本的了解
毕业答辩一耽误就是一个月的时间,感觉自己浪费好多时间,而且学习劲头都没有以前的好,学习是个漫长艰苦的事情,也出现了好多问题,希望自己有则改之,无则加冕,曾国藩曾说过:悔者,所以守其缺而禾取求全也.虽然 ...
- python socket 函数介绍
socket 函数原型:socket.socket([family[,type[,proto]]]) family参数取值(协议族): socket.AF_INET -->ipv4 ...
- 【DB2】SQL1585N 由于没有具有兼容页面大小的可用系统临时表空间,因此无法创建临时表。SQLSTATE=54048
自己写了一段SQL,SQL中包含ORDER BY 字句,但是在执行的时候报错如下: 经过查询发现是由于临时表空间的PAGESIZE不够大,可考虑建16k或者32k PAGESIZE的表空间 示例如下: ...
- [JAVA]JAVA多线程实现方法之——实现Runnable接口
public class MultiThread { public static void main(String[] args) { Thread t1 = new Thread(new Threa ...
- 让所有浏览器支持HTML5 video视频标签
HTML5究竟需要多少种视频编码格式 当前,video 元素支持三种视频格式:Ogg = 带有 Theora 视频编码和 Vorbis 音频编码的 Ogg 文件MPEG4 = 带有 H.264 视频编 ...
- 关于音频总线IIS的学习---Verilog
关于音频总线IIS的学习---Verilog 主要思想: 在分析寄存器的值变化的时候,将时钟的边沿分两边来看,边沿之前,边沿之后,在always 块语句里面用来分析判断的寄存器的值,都应该用边沿变化之 ...
- Python 语言之 map/reduce
1.相关文献 大名鼎鼎的Google论文<MapReduce: Simplified Data Processing on Large Clusters> 对应的中文翻译<MapRe ...
- 前端-JavaScript1-6——JavaScript之变量类型的转换
6.1 string → number 先来学习一个语句,这个语句和alert差不多,也是弹窗,弹的是输入框: 1 prompt("请输入你的电话","139&qu ...
- [sharepoint]Rest api相关知识(转)
写在前面 最近又开始弄rest api了,通过sharepoint rest api获取站点信息,Items,fields非常方便,再结合OData查询,更是得心应手.这里记录学习的时候用到的知识点, ...
- 基于Dubbo框架构建分布式服务(集群容错&负载均衡)
Dubbo是Alibaba开源的分布式服务框架,我们可以非常容易地通过Dubbo来构建分布式服务,并根据自己实际业务应用场景来选择合适的集群容错模式,这个对于很多应用都是迫切希望的,只需要通过简单的配 ...