浏览图片使用了layer插件,旋转需要引用jquery.rotate.min.js 放大缩小是根据图片等比例缩放,下面是本人写的部分代码:在layer.ext.js这个插件的扩展js文件里需要加上如下代码,实现旋转,缩放功能: //旋转 var value = 0; log.imgtit.find(‘a‘).on(‘click‘, function () { value += 90; log.bigimg.find(‘img‘).rotate({ animateTo: value }) }); var smallsize = log.bigimg.find(‘img‘).height(); // 放大 log.imgbar.find(‘.xubox_imgtit1 a‘).on(‘click‘, function () { var standard = log.bigimg.width() > log.bigimg.height() ? log.bigimg.height() : log.bigimg.width(); if (standard - smallsize >= 100) { smallsize += 100; } else { smallsize = standard; } AutoResizeImage(smallsize, smallsize, log.bigimg.find(‘img‘)); }) //缩小 log.imgbar.find(‘.xubox_imgtit2 a‘).on(‘click‘, function () { smallsize = log.bigimg.find(‘img‘).height(); if (smallsize > 100) { smallsize -= 100; } AutoResizeImage(smallsize, smallsize, log.bigimg.find(‘img‘)); })
function changesize(objImg) { var img = new Image(); img.src = objImg.attr(‘src‘); var most = 200; //设置最大宽度 if (img.width > most) { var scaling = 1 - (img.width - most) / img.width; //计算缩小比例 objImg.css({ width: img.width * scaling, height: img.height * scaling }); //img元素没有设置高度时将自动等比例缩小 //objImg.height = objImg.height*scaling; //img元素设置高度时需进行等比例缩小 } } function AutoResizeImage(maxWidth, maxHeight, objImg) { var img = new Image(); img.src = objImg.attr(‘src‘); var hRatio; var wRatio; var Ratio = 1; var w = img.width; var h = img.height; wRatio = maxWidth / w; hRatio = maxHeight / h; if (maxWidth == 0 && maxHeight == 0) { Ratio = 1; } else if (maxWidth == 0) { // if (hRatio < 1) Ratio = hRatio; } else if (maxHeight == 0) { if (wRatio < 1) Ratio = wRatio; } else if (wRatio < 1 || hRatio < 1) { Ratio = (wRatio <= hRatio ? wRatio : hRatio); } else { Ratio = (wRatio <= hRatio ? wRatio : hRatio); } if (Ratio < 1) { w = w * Ratio; h = h * Ratio; } if (Ratio > 1) { w = w * Ratio; h = h * Ratio; } //根据图片大小变化定位图片位置 var wd = $(window); var area1 = (wd.height() > 400 ? wd.height() - 50 : 400); if (area1 > h) { objImg.css({ top: (area1 - h) / 2 }) } else { objImg.css({ top: (h - area1) / 2 }) } objImg.css({ width: w, height: h }); }
这是前端代码:
<!DOCTYPE HTML> <html> <head> <meta charset="utf-8" /> <link id="easyuiTheme" href="Content/themes/jquery-easyui/default/easyui.css" rel="stylesheet" /> <script src="Scripts/jquery-easyui/jquery.min.js" type="text/javascript"></script> <script src="Scripts/jquery-easyui/jquery.easyui.min.js" type="text/javascript"></script> <script src="Scripts/datagrid-detailview.js" type="text/javascript"></script> <script src="Scripts/jquery-easyui/locale/easyui-lang-zh_CN.js" type="text/javascript" charset="utf-8"></script> <script src="Scripts/jquery.media.js" type="text/javascript"></script> <script src="Scripts/jwplayer/1.5/jwplayer.js" type="text/javascript"></script> <script src="layer/layer.min.js"></script> <script src="Scripts/jquery.rotate.min.js" type="text/javascript"></script> <script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=tZPqYVqppsRdOD9ncyGRXsWy"></script> <style> html{background-color:#E3E3E3; font-size:14px; color:#000; font-family:‘微软雅黑‘} a,a:hover{ text-decoration:none;} pre{font-family:‘微软雅黑‘} .box{padding:20px; background-color:#fff; margin:50px 100px; border-radius:5px;} .box a{padding-right:15px;} #about_hide{display:none} .layer_text{background-color:#fff; padding:20px;} .layer_text p{margin-bottom: 10px; text-indent: 2em; line-height: 23px;} .button{display:inline-block; *display:inline; *zoom:1; line-height:30px; padding:0 20px; background-color:#56B4DC; color:#fff; font-size:14px; border-radius:3px; cursor:pointer; font-weight:normal;} .imgs img{width:300px;padding:0 30px 30px; cursor:pointer;} </style> </head> <body> <table id="grid1" title="接收文书证据列表" style="width: 700px; height: 300px" data-options=" rownumbers:true, singleSelect:true, autoRowHeight:false, fit:true, fitColumns: true, pagination:true, pageSize:10"> <thead> <tr> <th field="e_tjrdw" width="80"> 提交人地位 </th> <th field="e_tjrmc" width="100"> 提交人姓名 </th> <th field="e_wsbt" width="80" align="right"> 文书名称 </th> <th field="e_wslb" width="80" align="right"> 类型 </th> <th field="e_nrjzy" width="100" align="right"> 证据目的 </th> <th field="inserttime" width="110"> 提交时间 </th> </tr> </thead> </table> <div id="TV_div"> <div id="container"> </div> </div> <div id="certificate_dialog" class="easyui-dialog" style="width: 860px; height: 560px; padding: 10px 20px; background-color: White" closed="true"> <form id="certificate_form" method="post"> <div class="fitem" style="float: left;"> <a class="media" href="#" id="PDFFile"></a> </div> </form> </div> <div id="imgs" class="imgs" style="display: none"> <img id="img1" src="Content/Images/chrome.png" layer-pname="懒人之家 - 1"> </div> <a id="hupload"></a> <script> ; !function () { layer.use(‘extend/layer.ext.js‘, function () { //初始加载即调用,所以需放在ext回调里 layer.ext = function () { layer.photosPage({ title: ‘旋转‘, id: 100, //相册id,可选 parent: ‘#imgs‘ }); }; }); } (); function getData() { var rows = []; for (var i = 1; i <= 800; i++) { var amount = Math.floor(Math.random() * 1000); var price = Math.floor(Math.random() * 1000); rows.push({ e_tjrdw: ‘法官‘ + i, inserttime: $.fn.datebox.defaults.formatter(new Date()), e_tjrmc: ‘开福区管理员‘ + i, e_wsbt: "文书证券" + amount + "号", e_wslb: "GT", e_nrjzy: "GT" + i }); } return rows; } function pagerFilter(data) { if (typeof data.length == ‘number‘ && typeof data.splice == ‘function‘) { // is array data = { total: data.length, rows: data } } var dg = $(this); var opts = dg.datagrid(‘options‘); var pager = dg.datagrid(‘getPager‘); pager.pagination({ onSelectPage: function (pageNum, pageSize) { opts.pageNumber = pageNum; opts.pageSize = pageSize; pager.pagination(‘refresh‘, { pageNumber: pageNum, pageSize: pageSize }); dg.datagrid(‘loadData‘, data); } }); if (!data.originalRows) { data.originalRows = (data.rows); } var start = (opts.pageNumber - 1) * parseInt(opts.pageSize); var end = start + parseInt(opts.pageSize); data.rows = (data.originalRows.slice(start, end)); return data; } $(function () { $(‘#grid1‘).datagrid({ view: detailview, detailFormatter: function (rowIndex, rowData) { return ‘<div style="padding:2px"><table id="ddv-‘ + rowIndex + ‘"></table></div>‘; }, onExpandRow: function (index, row) { $(‘#ddv-‘ + index).datagrid({ singleSelect: true, rownumbers: true, fitColumns: true, //数据列自适应宽度 height: ‘auto‘, columns: [[{ field: ‘c_ssdw‘, title: ‘文书名称‘, align: ‘center‘, width: 100 }, { field: ‘c_dsrxm‘, title: ‘类别‘, align: ‘center‘, width: 100 }, { field: ‘c_zjhm‘, title: ‘递交时间‘, align: ‘center‘, width: 200 }, { field: ‘c_sjhm‘, title: ‘文件类型‘, align: ‘center‘, width: 150 }, { field: ‘p_password‘, title: ‘操作‘, align: ‘center‘, width: 150 }]], onResize: function () { $(‘#grid1‘).datagrid(‘fixDetailRowHeight‘, index); }, onLoadSuccess: function () { setTimeout(function () { $(‘#grid1‘).datagrid(‘fixDetailRowHeight‘, index); }, 0); } }).datagrid(‘loadData‘, getData1()); }, loadFilter: pagerFilter }).datagrid(‘loadData‘, getData()); }); function getData1() { var rows = []; for (var i = 1; i <= 10; i++) { var amount = Math.floor(Math.random() * 1000); var price = Math.floor(Math.random() * 1000); if (i <= 3) { var buttontype = "下载"; var fileType = "文档"; } else if (i > 3 & i <= 6) { buttontype = "浏览"; fileType = "PDF"; } else if (i > 6 & i <= 8) { buttontype = "浏览"; fileType = "图片"; } else if (i == 9) { buttontype = "浏览"; fileType = "视频"; } else { buttontype = "浏览"; fileType = "音频"; } rows.push({ c_ssdw: fileType, c_zjhm: $.fn.datebox.defaults.formatter(new Date()), c_dsrxm: fileType, c_sjhm: "GT" + amount + "号", p_password: "<a href=‘#‘ class=‘submenu‘ iconcls=‘icon-search‘ onclick=‘look(\"" + fileType + "\")‘><span>" + buttontype + "</span></a>" }); } return rows; } function look(buttontype) { if (buttontype == "文档") { wdupload123(); } else if (buttontype == "PDF") { lookPDF(); } else if (buttontype == "图片") { lookPNG(); } else if (buttontype == "视频" || buttontype == "音频") { lookTV(); } } //下载文档 function wdupload123() { $.messager.confirm(‘下载‘, ‘此文件无法在线查看,您确认下载文件吗?‘, function (r) { if (r) { $("#hupload").attr("href", "http://192.168.0.100:8093/Media/ddff0b1286b040e88a5f07f591eebff6.flv"); document.getElementById("hupload").click(); } }); } //查看PDF function lookPDF() { $(‘#PDFFile‘).media({ type: ‘html‘, width: 800, height: 490, src: "http://192.168.0.100:8099/doc/RECEIVE/f178a5aeee934511b912957635ad0132.pdf" }); $(‘#certificate_dialog‘).show().dialog({ title: ‘查看PDF‘, closed: false, modal: true }); } //查看视频 function lookTV() { $("#TV_div").show().dialog({ title: ‘查看‘, closed: false, modal: true, height: 500, width: 670 }); var thePlayer = jwplayer("container").setup({ flashplayer: "Scripts/jwplayer/1.5/player.swf", width: 640, height: 460, dock: false, provider: "http", file: "http://192.168.0.100:8093/Media/ddff0b1286b040e88a5f07f591eebff6.flv", autostart: true }); } function lookPNG() { document.getElementById("img1").click(); } // $(document).ready(function () { // var value2 = 0 // $("#img1").rotate({ // bind:{ // click: function () { // value2 += 90; // $(this).rotate({ animateTo: value2 }) // } // } // }); //}); </script> </body> </html>
源码,插件包下载:http://i.cnblogs.com/Files.aspx
时间: 2024-10-31 00:25:37