jQuery实现的点击图片居中放大缩小功能示例


Posted in jQuery onJanuary 16, 2019

本文实例讲述了jQuery实现的点击图片居中放大缩小功能。分享给大家供大家参考,具体如下:

该功能是基于jquery实现的,所以

第一步则是引入jquery

jquery下载地址:https://jquery.com/download/

或者使用此时调试的版本(3版本)

jQuery3.2.1文件点击此处本站下载

第二步:准备HTML文件

<div id="outerdiv" class="wrap">
  <div id="innerdiv" style="position:absolute;">
   <img id="bigimg" style="border:5px solid #fff;" src=""/>
  </div>
</div>

第三步:准备style

.wrap {
 position: fixed;
 top: 0;
 left: 0;
 background: rgba(0, 0, 0, 0.7);
 z-index: 2;
 width: 100%;
 height: 100%;
 display: none;
}

第四步:编写可以放大缩小的js

$(function(){
  $(".goal_img").click(function(){
   var _this = $(this);//将当前的pimg元素作为_this传入函数
   imgShow("#outerdiv", "#innerdiv", "#bigimg", _this);
  });
});

实现的功能

function imgShow(outerdiv, innerdiv, bigimg, _this){
var src = _this.attr("src");//获取当前点击的pimg元素中的src属性
$(bigimg).attr("src", src);//设置#bigimg元素的src属性
/*获取当前点击图片的真实大小,并显示弹出层及大图*/
$("<img/>").attr("src", src).load(function(){
  var windowW = $(window).width();//获取当前窗口宽度
  var windowH = $(window).height();//获取当前窗口高度
  var realWidth = this.width;//获取图片真实宽度
  var realHeight = this.height;//获取图片真实高度
  var imgWidth, imgHeight;
  var scale = 0.8;//缩放尺寸,当图片真实宽度和高度大于窗口宽度和高度时进行缩放
  if(realHeight>windowH*scale) {//判断图片高度
   imgHeight = windowH*scale;//如大于窗口高度,图片高度进行缩放
   imgWidth = imgHeight/realHeight*realWidth;//等比例缩放宽度
   if(imgWidth>windowW*scale) {//如宽度扔大于窗口宽度
    imgWidth = windowW*scale;//再对宽度进行缩放
   }
  } else if(realWidth>windowW*scale) {//如图片高度合适,判断图片宽度
   imgWidth = windowW*scale;//如大于窗口宽度,图片宽度进行缩放
      imgHeight = imgWidth/realWidth*realHeight;//等比例缩放高度
  } else {//如果图片真实高度和宽度都符合要求,高宽不变
   imgWidth = realWidth;
   imgHeight = realHeight;
  }
  $(bigimg).css("width",imgWidth);//以最终的宽度对图片缩放
  var w = (windowW-imgWidth)/2;//计算图片与窗口左边距
  var h = (windowH-imgHeight)/2;//计算图片与窗口上边距
  $(innerdiv).css({"top":h, "left":w});//设置#innerdiv的top和left属性
  $(outerdiv).fadeIn("fast");//淡入显示#outerdiv及.goal_img
 });
 $(outerdiv).click(function(){//再次点击淡出消失弹出层
  $(this).fadeOut("fast");
 });
}

通过以上简单的基本即可实现jquery 实现点击图片居住放大缩小。

上述代码有参考多个牛人的整理的。仅供学习记录,备后续开发学习使用。

希望本文所述对大家jQuery程序设计有所帮助。

jQuery 相关文章推荐
如何编写jquery插件
Mar 29 jQuery
jQuery异步提交表单实例
May 30 jQuery
基于jQuery封装的分页组件
Jun 26 jQuery
jquery拖动改变div大小
Jul 04 jQuery
jquery操作ul的一些操作笔记整理(干货)
Aug 31 jQuery
jQuery动态添加元素无法触发绑定事件的解决方法分析
Jan 02 jQuery
jquery实现搜索框功能实例详解
Jul 23 jQuery
jQuery实现的简单拖拽功能示例【测试可用】
Aug 14 jQuery
jQuery实现的简单日历组件定义与用法示例
Dec 24 jQuery
在Vue项目中引入JQuery-ui插件的讲解
Jan 27 jQuery
Jquery高级应用Deferred对象原理及使用实例
May 28 jQuery
ajax jquery实现页面某一个div的刷新效果
Mar 04 jQuery
jQuery+vue.js实现的多选下拉列表功能示例
Jan 15 #jQuery
jQuery实现的中英文切换功能示例
Jan 11 #jQuery
jQuery简单实现根据日期计算星期几的方法
Jan 09 #jQuery
jQuery实现根据身份证号获取生日、年龄、性别等信息的方法
Jan 09 #jQuery
JQuery搜索框自动补全(模糊匹配)功能实现示例
Jan 08 #jQuery
jQuery实现的别踩白块小游戏完整示例
Jan 07 #jQuery
jQuery判断自定义属性data-val用法示例
Jan 07 #jQuery
You might like
PHP连接操作access数据库实例
2015/03/30 PHP
PHP语法小结之基础和变量
2015/11/22 PHP
Zend Framework缓存Cache用法简单实例
2016/03/19 PHP
圣诞节Merry Christmas给博客添加浪漫的下雪效果基于jquery实现
2012/12/27 Javascript
原生js与jQuery实现简单的tab切换特效对比
2015/07/30 Javascript
实例讲解避免javascript冲突的方法
2016/01/03 Javascript
原生JavaScript制作微博发布面板效果
2016/03/11 Javascript
详解vue axios中文文档
2017/09/12 Javascript
详解在Vue中有条件地使用CSS类
2017/09/30 Javascript
原生JS实现 MUI导航栏透明渐变效果
2017/11/07 Javascript
解决vue组件中使用v-for出现告警问题及v for指令介绍
2017/11/11 Javascript
Vue+jquery实现表格指定列的文字收缩的示例代码
2018/01/09 jQuery
从零开始封装自己的自定义Vue组件
2018/10/09 Javascript
js实现3D照片墙效果
2019/10/28 Javascript
利用Python爬取可用的代理IP
2016/08/18 Python
详解Python3 中hasattr()、getattr()、setattr()、delattr()函数及示例代码数
2018/04/18 Python
python numpy和list查询其中某个数的个数及定位方法
2018/06/27 Python
深入浅析Python传值与传址
2018/07/10 Python
Python+AutoIt实现界面工具开发过程详解
2019/08/07 Python
Django项目之Elasticsearch搜索引擎的实例
2019/08/21 Python
mac在matplotlib中显示中文的操作方法
2020/03/06 Python
Omio美国:全欧洲低价大巴、火车和航班搜索和比价
2017/11/08 全球购物
Gerry Weber德国官网:优质女性时装,德国最大的时装公司之一
2019/11/02 全球购物
计算机网络专业个人的自我评价
2013/10/17 职场文书
建筑工程质量通病防治方案
2014/06/08 职场文书
质量提升方案
2014/06/16 职场文书
2014党委书记四风问题对照检查材料思想汇报
2014/09/22 职场文书
党员干部群众路线教育实践活动个人对照检查材料
2014/09/23 职场文书
关于群众路线的心得体会
2014/11/05 职场文书
2014年实习期工作总结
2014/11/27 职场文书
关于长城的导游词
2015/01/30 职场文书
《司马光》教学反思
2016/02/22 职场文书
2016年小学端午节活动总结
2016/04/01 职场文书
写给医护人员的一封感谢信
2019/09/16 职场文书
MySQL 重写查询语句的三种策略
2021/05/10 MySQL