jQuery实现的图片点击放大缩小功能案例


Posted in jQuery onJanuary 02, 2020

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

我们不废话,直接上例子。首先利用dom的垂直分层实现图片的点击放大和缩小(手机上使用的效果较好),在图片放大的时候同时禁止页面的滑动,如果在web端的话可以不禁止屏幕的滚动(因为图片放大是将图片的宽度变成100%,在web上长度可能会超出屏幕 的高度)。

来看css部分代码:

<style>
  /*全屏显示大图*/
  .opacityBottom{
    width: 100%;
    height: 100%;
    position: fixed;
    background:rgba(0,0,0,0.8);
    z-index:1000;
    top: 0;
    left: 0
  }
  .none-scroll{
    overflow: hidden;
    height: 80%;
  }
  .bigImg{
    width:80%;
    height: 80%;
    left:10%;
    top:10%;
    position:fixed;
    z-index: 10001;
  }
</style>

咱们再来看下js部分的代码:

$(".image_click").click(function () {
  var imgsrc = $(this).attr("src");
  var opacityBottom = '<div id="opacityBottom" style="display: none"><img class="bigImg" src="'+ imgsrc +'" ></div>';
  $(document.body).append(opacityBottom);
  toBigImg();//变大函数
});
function toBigImg(){
  $("#opacityBottom").addClass("opacityBottom");
  $("#opacityBottom").show();
  $("html,body").addClass("none-scroll");//下层不可滑动
  $(".bigImg").addClass("bigImg");
  /*隐藏*/
  $("#opacityBottom").bind("click",clickToSmallImg);
  $(".bigImg").bind("click",clickToSmallImg);
  var imgHeight = $(".bigImg").prop("height");
  if(imgHeight < h){
    $(".bigImg").css({"top":(h-imgHeight)/2 + 'px'});
  }else{
    $(".bigImg").css({"top":'0px'});
  }
  function clickToSmallImg() {
    $("html,body").removeClass("none-scroll");
    $("#opacityBottom").remove();
  }
};

image_click是绑定图片的class值,这个案例非常简单,还可以通过修改css来展示不同的样式的图片,大家有时间可以研究下,今天有点懒,直接贴的代码。

感兴趣的朋友可以使用在线HTML/CSS/JavaScript代码运行工具 http://tools.3water.com/code/HtmlJsRun 测试上述代码运行效果。

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

jQuery 相关文章推荐
jQuery实现在HTML文档加载完毕后自动执行某个事件的方法
May 08 jQuery
jQuery模拟爆炸倒计时功能实例代码
Aug 21 jQuery
基于jquery trigger函数无法触发a标签的两种解决方法
Jan 06 jQuery
jQuery实现鼠标响应式透明度渐变动画效果示例
Feb 13 jQuery
JQuery Ajax执行跨域请求数据的解决方案
Dec 10 jQuery
jQuery AJAX与jQuery事件的分析讲解
Feb 18 jQuery
详解jQuery中的getAll()和cleanData()
Apr 15 jQuery
JQuery获取元素尺寸、位置及页面滚动事件应用示例
May 14 jQuery
jQuery表单选择器用法详解
Aug 22 jQuery
jQuery表单校验插件validator使用方法详解
Feb 18 jQuery
基于jQuery拖拽事件的封装
Nov 29 jQuery
jQuery实现广告显示和隐藏动画
Jul 04 jQuery
jQuery模仿ToDoList实现简单的待办事项列表
Dec 30 #jQuery
jQuery+PHP+Ajax实现动态数字统计展示功能
Dec 25 #jQuery
JQuery常用选择器功能与用法实例分析
Dec 23 #jQuery
Jquery属性的获取/设置及样式添加/删除操作技巧分析
Dec 23 #jQuery
JQuery中DOM节点的操作与访问方法实例分析
Dec 23 #jQuery
JQuery中的常用事件、对象属性与使用方法分析
Dec 23 #jQuery
jquery实现商品sku多属性选择功能(商品详情页)
Dec 20 #jQuery
You might like
用Laravel轻松处理千万级数据的方法实现
2020/12/25 PHP
点弹代码 点击页面任何位置都可以弹出页面效果代码
2012/09/17 Javascript
jquery 提交值不为空的元素示例代码
2013/05/10 Javascript
javascript ready和load事件的区别示例介绍
2013/08/30 Javascript
js阻止冒泡及jquery阻止事件冒泡示例介绍
2013/11/19 Javascript
js图片轮播手动切换效果
2015/11/10 Javascript
JavaScript仿flash遮罩动画效果
2016/06/15 Javascript
vue-hook-form使用详解
2017/04/07 Javascript
Vue异步组件使用详解
2017/04/08 Javascript
深入理解vue中的$set
2017/06/01 Javascript
React组件之间的通信的实例代码
2017/06/27 Javascript
JS实现简单的浮动碰撞效果示例
2017/12/28 Javascript
Node.js上传文件功能之服务端如何获取文件上传进度
2018/02/05 Javascript
基于axios 解决跨域cookie丢失的问题
2018/09/26 Javascript
JavaScript常用工具方法封装
2019/02/12 Javascript
理理Vue细节(推荐)
2019/04/16 Javascript
微信小程序传值以及获取值方法的详解
2019/04/29 Javascript
基于Vue实现的多条件筛选功能的详解(类似京东和淘宝功能)
2019/05/07 Javascript
通过微信公众平台获取公众号文章的方法示例
2019/12/25 Javascript
Nuxt.js 静态资源和打包的操作
2020/11/06 Javascript
Python中的并发处理之asyncio包使用的详解
2018/04/03 Python
django 实现编写控制登录和访问权限控制的中间件方法
2019/01/15 Python
python树莓派红外反射传感器
2019/01/21 Python
详解Python locals()的陷阱
2019/03/26 Python
在PyCharm的 Terminal(终端)切换Python版本的方法
2019/08/02 Python
Python生态圈图像格式转换问题(推荐)
2019/12/02 Python
pytorch中使用cuda扩展的实现示例
2020/02/12 Python
CSS中越界问题的经典解决方案【推荐】
2016/04/19 HTML / CSS
Tory Burch美国官方网站:美国时尚生活品牌
2016/08/01 全球购物
关联、聚合(Aggregation)以及组合(Composition)的区别
2012/02/29 面试题
C#面试题
2016/05/06 面试题
家长给老师的道歉信
2014/01/13 职场文书
中考冲刺决心书
2014/03/11 职场文书
小学毕业典礼演讲稿
2014/09/09 职场文书
画展观后感
2015/06/17 职场文书
vue整合百度地图显示指定地点信息
2022/04/06 Vue.js