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事件_动力节点Java学院整理
Jul 05 jQuery
jQuery+ajax实现修改密码验证功能实例详解
Jul 06 jQuery
利用jQuery异步上传文件的插件用法详解
Jul 19 jQuery
jQuery实现所有验证通过方可提交的表单验证
Nov 21 jQuery
jquery中done和then的区别(详解)
Dec 19 jQuery
[原创]jquery判断元素内容是否为空的方法
May 04 jQuery
jQuery实现点击自身以外区域关闭弹出层功能完整示例【改进版】
Jul 31 jQuery
jQuery利用FormData上传文件实现批量上传
Dec 04 jQuery
详解jquery和vue对比
Apr 16 jQuery
使vue实现jQuery调用的两种方法
May 12 jQuery
jQuery实现可编辑的表格
Dec 11 jQuery
jQuery擦除插件eraser使用方法详解
Jan 11 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
推荐个功能齐全的发送PHP邮件类
2007/01/03 PHP
php出现web系统多域名登录失败的解决方法
2014/09/30 PHP
浅析PHP开发规范
2018/02/05 PHP
PHP常见过waf webshell以及最简单的检测方法
2019/05/21 PHP
JS处理VBArray的函数使用说明
2008/05/11 Javascript
javascript的创建多行字符串的7种方法
2014/04/29 Javascript
angularjs指令中的compile与link函数详解
2014/12/06 Javascript
jQuery实用技巧必备(中)
2015/11/03 Javascript
快速掌握Node.js环境的安装与运行方法
2016/02/16 Javascript
discuz表情的JS提取方法分析
2017/03/22 Javascript
JavaScript学习笔记之函数记忆
2017/09/06 Javascript
react-router browserHistory刷新页面404问题解决方法
2017/12/29 Javascript
微信小程序slider组件使用详解
2018/01/31 Javascript
ExtJs整合Echarts的示例代码
2018/02/27 Javascript
讲解vue-router之什么是编程式路由
2018/05/28 Javascript
解决layer弹层遮罩挡住窗体的问题
2018/08/17 Javascript
vue组件间通信六种方式(总结篇)
2019/05/15 Javascript
Element中Slider滑块的具体使用
2020/07/29 Javascript
vue+element_ui上传文件,并传递额外参数操作
2020/12/05 Vue.js
[01:09]DOTAPLUS——DOTA2的新时代
2018/04/04 DOTA
Python+selenium 获取一组元素属性值的实例
2018/06/22 Python
Python pygorithm模块用法示例【常见算法测试】
2018/08/16 Python
Python3中内置类型bytes和str用法及byte和string之间各种编码转换 问题
2018/09/27 Python
python智联招聘爬虫并导入到excel代码实例
2019/09/09 Python
pytorch 指定gpu训练与多gpu并行训练示例
2019/12/31 Python
Python如何基于rsa模块实现非对称加密与解密
2020/01/03 Python
python实现图片横向和纵向拼接
2020/03/05 Python
python实现读取类别频数数据画水平条形图案例
2020/04/24 Python
Kathmandu新西兰官网:新西兰户外运动品牌
2019/07/27 全球购物
电信专业应届生自荐信
2013/09/28 职场文书
六一儿童节活动策划方案
2014/01/27 职场文书
《乌鸦和狐狸》教学反思
2014/02/08 职场文书
护士岗前培训自我评鉴
2014/02/28 职场文书
病人写给医生的感谢信
2015/01/23 职场文书
2015年城市管理工作总结
2015/05/23 职场文书
Java 中的 Lambda List 转 Map 的多种方法详解
2022/07/07 Java/Android