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获取radio选中的值
May 05 jQuery
jQuery动态追加页面数据以及事件委托详解
May 06 jQuery
JQuery EasyUI 结合ztrIee的后台页面开发实例
Sep 01 jQuery
jQueryMobile之窗体长内容的缺陷与解决方法实例分析
Sep 20 jQuery
判断jQuery是否加载完成,没完成继续判断的解决方法
Dec 06 jQuery
jQuery滑动效果实现方法分析
Sep 05 jQuery
jQuery使用bind动态绑定事件无效的处理方法
Dec 11 jQuery
JQuery搜索框自动补全(模糊匹配)功能实现示例
Jan 08 jQuery
jQuery事件委托代码实践详解
Jun 21 jQuery
jQuery弹框插件使用方法详解
May 26 jQuery
jquery实现上传图片功能
Jun 29 jQuery
jQuery实现购物车全功能
Jan 11 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表单提交问题的解决方法
2011/04/12 PHP
php中一个完整表单处理实现代码
2011/11/10 PHP
PHP引用符&amp;的用法详细解析
2013/08/22 PHP
JavaScript 判断浏览器类型及版本
2009/02/21 Javascript
JS操作select下拉框动态变动(创建/删除/获取)
2013/06/02 Javascript
用nodejs实现PHP的print_r函数代码
2014/03/14 NodeJs
简述JavaScript对传统文档对象模型的支持
2015/06/16 Javascript
学习使用AngularJS文件上传控件
2016/02/16 Javascript
Nodejs中的this详解
2016/03/26 NodeJs
js监听键盘事件的方法_原生和jquery的区别详解
2016/10/10 Javascript
Vue.js组件tabs实现选项卡切换效果
2016/12/01 Javascript
原生js实现瀑布流布局
2017/03/08 Javascript
从零开始最小实现react服务器渲染详解
2018/01/26 Javascript
小程序实现锚点滑动效果
2019/09/23 Javascript
element form 校验数组每一项实例代码
2019/10/10 Javascript
koa-passport实现本地验证的方法示例
2020/02/20 Javascript
[34:10]Secret vs VG 2019国际邀请赛淘汰赛 败者组 BO3 第二场 8.24
2019/09/10 DOTA
Python MD5文件生成码
2009/01/12 Python
Python的print用法示例
2014/02/11 Python
python登陆asp网站页面的实现代码
2015/01/14 Python
Python通过poll实现异步IO的方法
2015/06/04 Python
CentOS 7下安装Python 3.5并与Python2.7兼容并存详解
2017/07/07 Python
Python使用扩展库pywin32实现批量文档打印实例
2020/04/09 Python
Python‘==‘ 及 ‘is‘相关原理解析
2020/09/05 Python
STP的判定过程
2012/10/01 面试题
儿科主治医生个人求职信
2013/09/23 职场文书
旅游个人求职信范文
2014/01/30 职场文书
青年文明号服务承诺
2014/03/31 职场文书
记账会计岗位职责
2014/06/16 职场文书
励志演讲稿200字
2014/08/21 职场文书
光学与应用专业毕业生求职信
2014/09/01 职场文书
工人先锋号事迹材料
2014/12/24 职场文书
走近毛泽东观后感
2015/06/04 职场文书
SQLServer2019 数据库环境搭建与使用的实现
2021/04/08 SQL Server
Python 装饰器(decorator)常用的创建方式及解析
2022/04/24 Python
Spring boot实现上传文件到本地服务器
2022/08/14 Java/Android