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插件FusionWidgets实现的Cylinder图效果示例【附demo源码】
Mar 23 jQuery
jQuery实现的粘性滚动导航栏效果实例【附源码下载】
Oct 19 jQuery
jQuery EasyUI window窗口使用实例代码
Dec 25 jQuery
jQuery实现获取选中复选框的值实例详解
Jun 28 jQuery
jQuery实现table表格checkbox全选的方法分析
Jul 04 jQuery
jQuery时间戳和日期相互转换操作示例
Dec 07 jQuery
jQuery实现的自定义轮播图功能详解
Dec 28 jQuery
JavaScript表格隔行变色和Tab标签页特效示例【附jQuery版】
Jul 11 jQuery
jQuery实现点击滚动到指定元素上的方法分析
Mar 19 jQuery
JQuery实现折叠式菜单的详细代码
Jun 03 jQuery
jQuery实现带进度条的轮播图
Sep 13 jQuery
jQuery实现计算器功能
Oct 19 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
曾在DC漫画界反派角色扮演的演员,谁才是你心目中的小丑之王?
2020/04/09 欧美动漫
德生1994机评
2021/03/02 无线电
php使用百度ping服务代码实例
2014/06/19 PHP
PHP随机生成唯一HASH值自定义函数
2015/04/20 PHP
使用PHP免费发送定时短信的实例
2016/10/24 PHP
php json相关函数用法示例
2017/03/28 PHP
PHP中检查isset()和!empty()函数的必要性
2019/02/13 PHP
PHP程序守护进程化实现方法详解
2020/07/16 PHP
setInterval与clearInterval的使用示例代码
2014/01/28 Javascript
JavaScript使用Math.Min返回两个数中较小数的方法
2015/04/06 Javascript
JS实现的新浪微博大厅文字内容滚动效果代码
2015/11/05 Javascript
JavaScript实现带缓冲效果的随屏滚动漂浮广告代码
2015/11/06 Javascript
轻松实现javascript数据双向绑定
2015/11/11 Javascript
JS百度地图搜索悬浮窗功能
2017/01/12 Javascript
Vue2.0实现购物车功能
2017/06/05 Javascript
jQuery实现动态加载select下拉列表项功能示例
2018/05/31 jQuery
微信小程序canvas实现签名功能
2021/01/19 Javascript
跟老齐学Python之集合(set)
2014/09/24 Python
python套接字流重定向实例汇总
2016/03/03 Python
Python使用迭代器打印螺旋矩阵的思路及代码示例
2016/07/02 Python
Python时间序列缺失值的处理方法(日期缺失填充)
2019/08/11 Python
django自带serializers序列化返回指定字段的方法
2019/08/21 Python
在服务器上安装python3.8.2环境的教程详解
2020/04/26 Python
马来西亚演唱会订票网站:StubHub马来西亚
2018/10/18 全球购物
科研课题实施方案
2014/03/18 职场文书
应届生找工作求职信
2014/06/24 职场文书
幼儿园教师的自我评价范文
2014/09/17 职场文书
授权收款委托书范本
2014/10/10 职场文书
2014年连锁店圣诞节活动方案
2014/12/09 职场文书
入党政审材料范文
2014/12/24 职场文书
幼儿园三八妇女节活动总结
2015/02/06 职场文书
对公司的意见和建议
2015/06/04 职场文书
2016大学生诚信考试承诺书
2016/03/25 职场文书
工作计划范文之财务管理
2019/08/09 职场文书
CSS中em的正确打开方式详解
2021/04/08 HTML / CSS