经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » JS/JS库/框架 » jQuery » 查看文章
点击小图查看原图
来源:cnblogs  作者:素衣居士  时间:2019/8/2 8:49:03  对本文有异议
点击图片看原图
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  6. <meta http-equiv="X-UA-Compatible" content="ie=edge">
  7. <title>点击图片查看原图</title>
  8. </head>
  9. <body>
  10. <div>
  11. <img class="pimg" src="http://qinius.scqgkj.com/1564478463ZdTYhX.jpg"
  12. style="display: block;margin-bottom: 10px;" width="100px" height="100px">
  13. </div>
  14. <div id="outerdiv"
  15. style="position:fixed;top:0;left:0;background:rgba(0,0,0,0.7);z-index:2;width:100%;height:100%;display:none;">
  16. <div id="innerdiv" style="position:absolute;">
  17. <img id="bigimg" style="border:5px solid #fff;" src="" />
  18. </div>
  19. </div>
  20. <script src="https://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js">
  21. </script>
  22. <script>
  23. //图片放大
  24. $(function () {
  25. $(".pimg").click(function () {
  26. var _this = $(this);//将当前的pimg元素作为_this传入函数
  27. imgShow("#outerdiv", "#innerdiv", "#bigimg", _this);
  28. });
  29. });
  30. function imgShow(outerdiv, innerdiv, bigimg, _this) {
  31. var src = _this.attr("src");//获取当前点击的pimg元素中的src属性
  32. $(bigimg).attr("src", src);//设置#bigimg元素的src属性
  33. /*获取当前点击图片的真实大小,并显示弹出层及大图*/
  34. $("<img/>").attr("src", src).load(function () {
  35. var windowW = $(window).width(); //获取当前窗口宽度
  36. var windowH = $(window).height(); //获取当前窗口高度
  37. var realWidth = this.width; //获取图片真实宽度
  38. var realHeight = this.height; //获取图片真实高度
  39. var imgWidth, imgHeight;
  40. var scale = 0.8; //缩放尺寸,当图片真实宽度和高度大于窗口宽度和高度时进行缩放
  41. if (realHeight > windowH * scale) { //判断图片高度
  42. imgHeight = windowH * scale; //如大于窗口高度,图片高度进行缩放
  43. imgWidth = imgHeight / realHeight * realWidth; //等比例缩放宽度
  44. if (imgWidth > windowW * scale) { //如宽度扔大于窗口宽度
  45. imgWidth = windowW * scale; //再对宽度进行缩放
  46. }
  47. } else if (realWidth > windowW * scale) { //如图片高度合适,判断图片宽度
  48. imgWidth = windowW * scale; //如大于窗口宽度,图片宽度进行缩放
  49. imgHeight = imgWidth / realWidth * realHeight; //等比例缩放高度
  50. } else { //如果图片真实高度和宽度都符合要求,高宽不变
  51. imgWidth = realWidth;
  52. imgHeight = realHeight;
  53. }
  54. $(bigimg).css("width", imgWidth); //以最终的宽度对图片缩放
  55. var w = (windowW - imgWidth) / 2; //计算图片与窗口左边距
  56. var h = (windowH - imgHeight) / 2; //计算图片与窗口上边距
  57. $(innerdiv).css({ "top": h, "left": w }); //设置#innerdiv的top和left属性
  58. $(outerdiv).fadeIn("fast"); //淡入显示#outerdiv及.pimg
  59. });
  60. $(outerdiv).click(function () { //再次点击淡出消失弹出层
  61. $(this).fadeOut("fast");
  62. });
  63. }
  64. </script>
  65. </body>
  66. </html>


点击后:(再次点击取消)

原文链接:http://www.cnblogs.com/wentutu/p/11271732.html

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号