1、html代码:我是从数据库获取图片路径。

  <div id="divprint" align="center">
@{DataTable dt = (DataTable)ViewBag.filedetail;}
@{
DataRow dr2 = dt.Rows[];
<input type="hidden" name="srcId" id="srcId" value="@dr2["ImgId"]" />
<img src="/upload/contract/@dr2["fileSrc"]" id="imgsrc" style="margin:0 auto;width:95%;height:95%">
} </div>
<div style="position:fixed;bottom:0;margin-left:180px"> <a id="before" class="easyui-linkbutton" style="width:80px">上一张</a>
<a id="next" class="easyui-linkbutton" style="width:80px">下一张</a>
<a id="big" class="easyui-linkbutton" style="width:80px" onclick="ImageSuofang(true)">放大</a>
<a id="small" class="easyui-linkbutton" style="width:80px" onclick="ImageSuofang(false)"> 缩小</a>
<a id="rotate" class="easyui-linkbutton" style="width:80px">旋转</a>
</div>

2、jquery,js代码(这里是每次点击旋转90度。放大缩小是因为没有做图片会随着窗口变化而变化)

     <script type="text/javascript">
$(document).ready(function () {
var arraySrc = new Array;
var index = ;
@foreach (DataRow dr in ViewBag.filedetail.Rows)
{
<text>
arraySrc[index] = "@dr["ImgId"],@dr["fileSrc"]";
index++;
</text>
} //上一张
$("#before").click(function () {
var srcId = $("#srcId").val();
for (var i = ; i < arraySrc.length; i++) {
var src = "";
var no = ;
if (arraySrc[i].split(',')[] == srcId) {
if (i >= ) {
src = "/upload/contract/" + arraySrc[i - ].split(',')[];
no = i - ;
} else {
src = "/upload/contract/" + arraySrc[i].split(',')[];
no = i;
}
$("#imgsrc").attr('src', src);
$("#srcId").val(no);
}
}
})
//下一张
$("#next").click(function () {
var srcId = $("#srcId").val();
for (var i = ; i < arraySrc.length; i++) {
var src = "";
var no = ;
if (arraySrc[i].split(',')[] == srcId) {
if (i <= arraySrc.length - ) {
src = "/upload/contract/" + arraySrc[i + ].split(',')[];
no = i + ;
} else {
src = "/upload/contract/" + arraySrc[i].split(',')[]
no = i;
}
$("#imgsrc").attr('src', src);
$("#srcId").val(no);
}
}
})
//旋转
var num = ;
$("#rotate").click(function () {
num++;
$("#imgsrc").rotate(num * );
}) });
//放大缩小
function ImageSuofang(args) {
var imgsrc = document.getElementById("imgsrc");
if (args) {
imgsrc.width = imgsrc.width * 1.1;
imgsrc.height = imgsrc.height * 1.1;
}
else {
imgsrc.width = imgsrc.width / 1.1;
imgsrc.height = imgsrc.height / 1.1;
}
} </script>

3、Controller代码:js里 filedetail 的数据来源

  public ActionResult DeviceEnclosureImgSeeForm()
{
FADeviceEnclosureModel DeviceEnclosureModel = new FADeviceEnclosureModel();
FADeviceEnclosure detail = DeviceEnclosureModel.Detail(int.Parse(Request["DeviceEnclosureId"]));
if (detail == null)
return Content("<script >alert('找不到信息!');window.parent.location.reload();</script >", "text/html"); DataTable dt = new DataTable();
dt.Columns.Add("ImgId");
dt.Columns.Add("fileSrc");
string[] DeviceEnclosureFileList = detail.DeviceEnclosureFile.Split(';'); for (int i = ; i < DeviceEnclosureFileList.Length; i++)
{
DataRow dr = dt.NewRow();
dr["ImgId"] = i;
dr["fileSrc"] = DeviceEnclosureFileList[i].ToString();
dt.Rows.Add(dr);
} ViewData["filedetail"] = dt; return View();
}

JQuery,JS图片操作(上一张,下一张,旋转,放大,缩小)的更多相关文章

  1. 分享图片压缩上传demo,可以选择一张或多张图片也可以拍摄照片

    2016-08-05更新: 下方的代码是比较OLD的了,是通过js进行图片的剪切 旋转 再生成,效率较低. 后来又整合了一个利用native.js本地接口的压缩代码 ,链接在这 .页面中有详细的说明, ...

  2. jQuery模拟原生态App上拉刷新下拉加载

    jQuery模拟原生态App上拉刷新下拉加载效果代码,鼠标上拉时会显示loading字样,并且会模拟加载一条静态数据,支持触屏设备使用. <!doctype html> <html ...

  3. 项目总结07:JS图片的上传预览和表单提交(FileReader()方法)

    JS图片的上传预览和表单提交(FileReader()方法) 一开始没有搞明白下面这块代码的,今天有时间简单整理下 核心点:FileReader()方法 以下是代码(以JSP文件为例) <!DO ...

  4. js实现点击按钮实现上一张下一张相册滚动效果

    /****判断图片是否构成滚动效果*/$(function(){    if($("#bar").find('img').size()*71<=$("#bar&qu ...

  5. .NET Core 图片操作在 Linux/Docker 下的坑

    一.前言 .NET Core 目前更新到2.2了,但是直到现在在 .NET Core 本身依然不包括和图片有关的 Image.Bitmap 等类型.对于图片的操作在我们开发中很常见,比如:生成验证码. ...

  6. js 图片压缩上传(base64位)以及上传类型分类

    一.input file上传类型 1.指明只需要图片 <input type="file" accept='image/*'> 2.指明需要多张图片 <input ...

  7. js 图片压缩上传(纯js的质量压缩,非长宽压缩)

    下面是大神整理的demo,很实用,这里存一下备用,感谢大神! 此demo为大于1M对图片进行压缩上传 若小于1M则原图上传,可以根据自己实际需求更改. demo源码如下 <!DOCTYPE ht ...

  8. js图片压缩上传

    最近公司的移动产品相约app要做一次活动,涉及到图片上传,图片又不能太大,不然用户体验太差,必须先压缩再上传,所以用到了html5的canvas和FileReader,代码先上,小弟前端经验不足,代码 ...

  9. JS框架_(JQuery.js)图片相册掀开切换效果

    百度云盘 传送门 密码:y0dk 图片掀开切换效果: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN&quo ...

随机推荐

  1. redis-trib.rb创建集群失败

    yum安装ruby: yum install -y rubyyum install -y rubygems //安装rubygemgem install redis //安装redis的接口包gem ...

  2. 四(1)、springcloud之Ribbon初步配置

    1.概述 ​ Spring Cloud Ribbon是基于Netflix Ribbon实现的一套客户端 -负载均衡的工具.Ribbon是Netflix发布的开源项目,主要功能是提供客户端的软件负载均衡 ...

  3. vue on emit 父子之间传值应用详细代码

    大概很多人都知道用这个,网上教程也一大堆,但我想说的是一定要手动敲一遍,敲一遍,敲一遍,重要的事情说三遍. 大概有些人也不知道它该何时用on,或者emit 的吧? 先说两个我项目中用到的场景吧: 项目 ...

  4. 《代码大全2》读书笔记 Week4

    <代码大全2>第8章:防御式编程 防御式编程的主要思想是子程序应该不因为非法的输入值被破坏,就好比开车时的防御式驾驶:你无法预估其他司机将会做什么,但你要采取措施保证当他人做出危险动作时自 ...

  5. linux常用命令-3文件与目录相关命令

    cd .. #返回上一级目录 cd ../.. #返回上两级目录 cd - #返回上次所在目录 cp file1 file2 #将file1复制为file2 cp -a dir1 dir2 #复制一个 ...

  6. day04 mysql单表查询 多表查询 pymysql的使用

    day04 mysql pymysql   一.单表查询     1.having过滤         一般用作二次筛选             也可以用作一次筛选(残缺的: 只能筛选select里面 ...

  7. JVM配置参数理解,Cannot load this JVM TI agent twice

    基本参数 -Xms128m JVM初始分配的堆内存 -Xmx512m JVM最大允许分配的堆内存,按需分配 -XX:PermSize=64M JVM初始分配的非堆内存 -XX:MaxPermSize= ...

  8. IDEA使用maven插件打jar包流程

    idea使用maven插件打jar包步骤以及遇到的问题 idea自带了maven工具,idea右边点击maven选项: 一.在pom中添加插件,直接复制就好,如下选项 <plugin> & ...

  9. 在vue中使用Element的message组件

    在vue中使用Element的message组件 在vue文件中使用 this.$message({ message: "提示信息", type: "success&qu ...

  10. mongodb常用基本命令

    一.数据库常用命令 1.help查看命令提示 help db.help() db.test.help() db.test.find().help() 2.创建.切换数据库 use movies 3.查 ...