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

 更新时间:2019年01月16日 10:59:28   作者:吴封斌技术博客  
这篇文章主要介绍了jQuery实现的点击图片居中放大缩小功能,涉及jQuery基于事件响应针对页面元素动态操作相关实现技巧,需要的朋友可以参考下

本文实例讲述了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表格(table)操作技巧汇总》、《jQuery切换特效与技巧总结》、《jQuery扩展技巧总结》、《jQuery常用插件及用法总结》、《jQuery常见经典特效汇总》及《jquery选择器用法总结

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

相关文章

  • jquery使用$(element).is()来判断获取的tagName

    jquery使用$(element).is()来判断获取的tagName

    这篇文章主要介绍了jquery使用$(element).is()来判断获取的tagName以及将取到标签用作到别的地方,需要的朋友可以参考下
    2014-08-08
  • jquery实现点击按钮显示与隐藏效果

    jquery实现点击按钮显示与隐藏效果

    这篇文章主要为大家详细介绍了jquery实现点击按钮显示与隐藏效果,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-04-04
  • jQuery jcrop插件截图使用方法

    jQuery jcrop插件截图使用方法

    项目需要做一个头像截取的功能,类似于QQ头像截取功能。在网上搜了下,最后使用jQuery插件jcrop来截取
    2013-11-11
  • jQuery树控件zTree使用方法详解(一)

    jQuery树控件zTree使用方法详解(一)

    这篇文章主要为大家详细介绍了jQuery树控件zTree使用方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-02-02
  • jquery实现一个简单好用的弹出框

    jquery实现一个简单好用的弹出框

    这篇文章主要介绍了jquery如何实现的一个简单的弹出框,经测试非常好用,代码简洁,留着以后工作时候再用
    2014-09-09
  • jquery中get,post和ajax方法的使用小结

    jquery中get,post和ajax方法的使用小结

    本篇文章主要是对jquery中get,post和ajax方法的使用进行了详细的介绍,需要的朋友可以过来参考下,希望对大家有所帮助
    2014-02-02
  • jquery判断浏览器类型的代码

    jquery判断浏览器类型的代码

    用jquery来判断浏览器类型,如果只是仅仅为了判断浏览器的类型而使用该方法,那么不建议使用,只是在你已经使用了jquery才建议使用,因为没必要因为这么小的一个功能就加载那么大的类库吧
    2012-11-11
  • jquery实现拖拽调整Div大小

    jquery实现拖拽调整Div大小

    这里给大家分享的是一段自己编写的使用jQuery实现拽调整Div层大小的代码,非常实用,推荐给有需要的小伙伴们。
    2015-01-01
  • jquery 按钮状态效果 正常、移上、按下

    jquery 按钮状态效果 正常、移上、按下

    按钮的各状态效果在网页设计过程中经常会遇到,下面写个jquery扩展,使这个过程更加方便,感兴趣的朋友可以了解下
    2013-08-08
  • jQuery实现时尚漂亮的弹出式对话框实例

    jQuery实现时尚漂亮的弹出式对话框实例

    这篇文章主要介绍了jQuery实现时尚漂亮的弹出式对话框,可实现非常炫目时尚的弹出式对话框功能,非常具有实用价值,需要的朋友可以参考下
    2015-08-08

最新评论