引入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的更多相关文章

  1. 兼容好的JS图片上传预览代码

    转 : http://www.codefans.net/articles/1395.shtml 兼容好的JS图片上传预览代码 (谷歌,IE11) <html xmlns="http:/ ...

  2. Jquery图片上传预览效果

    uploadPreview.js jQuery.fn.extend({ uploadPreview: function (opts) { var _self = this, _this = $(thi ...

  3. [前端 4] 使用Js实现图片上传预览

    导读:今天做图片上传预览,刚开始的做法是,先将图片上传到Nginx,然后重新加载页面才能看到这个图片.在这个过程中,用户一直都看不到自己上传的文件是什么样子.Ps:我发现我真的有强迫症了,都告诉我说不 ...

  4. Javascript之图片上传预览

    使用Javascript之图片上传预览,我们无需上传到服务器中,兼容所有浏览器. 关键方法是使用微软库filter:progid:DXImageTransform.Microsoft.AlphaIma ...

  5. HTML5 图片上传预览

    <!DOCTYPE html> <html lang="zh-cn"> <head> <meta charset="utf-8& ...

  6. ASP.NET工作笔记之一:图片上传预览及无刷新上传

    转自:http://www.cnblogs.com/sibiyellow/archive/2012/04/27/jqueryformjs.html 最近项目里面涉及到无刷新上传图片的功能,其实也就是上 ...

  7. php 图片上传预览(转)

    网上找的图片上传预览: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http:/ ...

  8. js实现图片上传预览及进度条

    原文js实现图片上传预览及进度条 最近在做图片上传的时候,由于产品设计的比较fashion,上网找了比较久还没有现成的,因此自己做了一个,实现的功能如下: 1:去除浏览器<input type= ...

  9. html 图片上传预览

    Html5 upload img 2012年12月27日 20:36 <!DOCTYPE HTML> <html> <head> <meta http-equ ...

随机推荐

  1. oracle query

    不等值连接查询 员工工资级别 select e.empno,e.ename,e.sal,s.grade from emp e,salgrade s where e.sal between s.losa ...

  2. 在MySQL中快速的插入大量测试数据

    很多时候为了测试数据库设计是否恰当,优化SQL语句,需要在表中插入大量的数据,怎么插入大量的数据就是个问题了. 最开始想到的办法就是写一个程序通过一个很大的循环来不停的插入,比如这样: int i = ...

  3. ES6语法知识

    let/const(常用) let,const用于声明变量,用来替代老语法的var关键字,与var不同的是,let/const会创建一个块级作用域(通俗讲就是一个花括号内是一个新的作用域) 这里外部的 ...

  4. zombodb 低级api 操作

    zombodb 低级api 允许直接从zombodb 索引中进行insert.delete 文档,同时保留了mvcc 的特性,但是数据没有存储在 pg 中,但是也带来数据上的风险,我们需要注意进行es ...

  5. 整数的故事(4)——Karastuba算法

    我们在小学就学过用竖式计算两个多位数的乘法: 这个过程简单而繁琐,没有最强大脑的普通大众通常是用计算器代替的.然而对于超大整数的乘法,计算器也未必靠得住,它还存在“溢出”一说.这就需要我们自行编写算法 ...

  6. c++11模拟boost元占位符placeholder

    准备实现meta programming的fold函数,发现自己缺少占位符实现,这样传入fold的transform op类(元函数)都不得不另外写个外覆类,其实我觉得没啥不好,简单直接,说实话干扰什 ...

  7. CentOS7版本区别和下载

    CentOS 7提供了三种ISO镜像文件的下载: DVD ISO 标准安装版,一般下载这个就可以了(推荐) Everything ISO 对完整版安装盘的软件进行补充,集成所有软件.(包含centos ...

  8. alertjs Documentation

    原文地址:https://github.com/PaulNieuwelaar/alertjs/wiki/Documentation#alertshow For version 3.0 document ...

  9. enctype=“multipart/form-data”详解

    enctype这个属性管理的是表单的MIME(Multipurpose Internet Mail Extensions)编码,共有三个值可选: 1.application/x-www-form-ur ...

  10. jquery:获取checked复选框的问题

    jquery:获取checked复选框的问题 功能描述:要完成一个全选的功能,但总是获取不到复选框的被选中的个数,究其原因,是Jquery中length和checked使用不当所造成的. // 获取所 ...