JQuery,JS图片操作(上一张,下一张,旋转,放大,缩小)
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图片操作(上一张,下一张,旋转,放大,缩小)的更多相关文章
- 分享图片压缩上传demo,可以选择一张或多张图片也可以拍摄照片
2016-08-05更新: 下方的代码是比较OLD的了,是通过js进行图片的剪切 旋转 再生成,效率较低. 后来又整合了一个利用native.js本地接口的压缩代码 ,链接在这 .页面中有详细的说明, ...
- jQuery模拟原生态App上拉刷新下拉加载
jQuery模拟原生态App上拉刷新下拉加载效果代码,鼠标上拉时会显示loading字样,并且会模拟加载一条静态数据,支持触屏设备使用. <!doctype html> <html ...
- 项目总结07:JS图片的上传预览和表单提交(FileReader()方法)
JS图片的上传预览和表单提交(FileReader()方法) 一开始没有搞明白下面这块代码的,今天有时间简单整理下 核心点:FileReader()方法 以下是代码(以JSP文件为例) <!DO ...
- js实现点击按钮实现上一张下一张相册滚动效果
/****判断图片是否构成滚动效果*/$(function(){ if($("#bar").find('img').size()*71<=$("#bar&qu ...
- .NET Core 图片操作在 Linux/Docker 下的坑
一.前言 .NET Core 目前更新到2.2了,但是直到现在在 .NET Core 本身依然不包括和图片有关的 Image.Bitmap 等类型.对于图片的操作在我们开发中很常见,比如:生成验证码. ...
- js 图片压缩上传(base64位)以及上传类型分类
一.input file上传类型 1.指明只需要图片 <input type="file" accept='image/*'> 2.指明需要多张图片 <input ...
- js 图片压缩上传(纯js的质量压缩,非长宽压缩)
下面是大神整理的demo,很实用,这里存一下备用,感谢大神! 此demo为大于1M对图片进行压缩上传 若小于1M则原图上传,可以根据自己实际需求更改. demo源码如下 <!DOCTYPE ht ...
- js图片压缩上传
最近公司的移动产品相约app要做一次活动,涉及到图片上传,图片又不能太大,不然用户体验太差,必须先压缩再上传,所以用到了html5的canvas和FileReader,代码先上,小弟前端经验不足,代码 ...
- JS框架_(JQuery.js)图片相册掀开切换效果
百度云盘 传送门 密码:y0dk 图片掀开切换效果: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN&quo ...
随机推荐
- 注释类型 XmlType
@Retention(value=RUNTIME) @Target(value=TYPE) public @interface XmlType 将类或枚举类型映射到 XML 模式类型. 用法 @Xml ...
- 去除字符串中的HTML标签
背景:Kindeditor内容保存在数据库中的类型是text,包含文字和HTML标签. 需求:显示内容的前50个字(纯文字内容) 方法:将字段查出去除标签,截取前50 import java.util ...
- 2018年第九届蓝桥杯B组第四题:摔手机题解
摔手机 摔手机 动态规划 在蓝桥杯的时候遇到一次 当时没有做对 看了题解也没明白 如今再次遇到这个类似的题目 于是拿出来补补吧 摔手机题目如下: 星球的居民脾气不太好,但好在他们生气的时候唯一的 ...
- vim - Vi IMproved, 一个程序员的文本编辑器
总览 (SYNOPSIS) vim [options] [file ..] vim [options] - vim [options] -t tag vim [options] -q [errorfi ...
- AWS lambda DynamoDB api gateway之间的连接
创建角色 附加策略 AmazonDynamoDBFullAccess AWSLambdaDynamoDBExecutionRole 创建DynamoDB表 在表的项目中创建内容 this pipi 打 ...
- vue 学习 cli3常用配置
---恢复内容开始--- cli3以后,构建的项目更加的简洁,配置文件也没有向cli2那样暴漏出来,但这并不代表cli3是不可配置的,我们只需要在根目录下添加一个vue.config.js作为项目的配 ...
- python 获取年月日时分秒 获取当前时间 datetime函数
import datetime#取当前时间print(datetime.datetime.now())#取年print(datetime.datetime.now().year)#取月print(da ...
- C# - *.dll vs *.lib (动态链接库 vs 静态链接库)
静态库 库(Library)就是一段编译好的二进制代码,加上头文件就可以使用. 静态链接库(Windows 下的*.lib, Linux & Mac 下的 .a).之所以叫做静态,是因为静态库 ...
- mui框架页面每次加载操作
最近在优化自己用mui开发的app,主要还是针对交互这块儿,这里简单给大家说一下问题点场景,就是我是通过动态添加底部tabBar的方法创建了一个底部可以切换的操作区域,代码如下: mui.init() ...
- @ControllerAdvice + @ExceptionHandler全局处理Controller层异常
import org.springframework.web.bind.annotation.ControllerAdvice; import org.springframework.web.bind ...