js实现图片放大展示效果


Posted in Javascript onAugust 30, 2017

图片放大展示效果的实现代码,可动态生成图片,每次点击看原图的时候为当前id里面的图片

HTML

<!DOCTYPE html>
<html>
  <head>
    <meta charset="UTF-8">
    <title></title>
    <script src="node_modules/jquery/jquery.js"></script>
    <style>
      *{
        margin: 0;
        padding: 0;
      }
      #picOne img{
        width: 200px;
        height: 200px;
      }
      .mask-img {
        display: none; 
        position: fixed; 
        top: 0; 
        left: 0; 
        width: 100%; 
        height: 100%; 
        z-index: 10; 
        background: rgba(0,0,0,.2);
      }
      
      .picture{
        display: none; 
        position: fixed; 
        top: 50%; left:50%; 
        transform: translate(-50%,-50%); 
        width: 960px; 
        height: 700px; 
        line-height: 700px; 
        text-align:center; 
        background: #666; 
        z-index: 20;
      }
      .picture .phone{
        vertical-align: middle; 
        max-width: 868px; 
        max-height: 670px; 
      }
      .picture .left{
        position: absolute; 
        left: 10px; 
        top: 320px; 
        width: 25px; 
        height: 40px; 
        line-height: 40px;
      }
      .picture .right{
        position: absolute; 
        right: 10px; 
        top: 320px; 
        width: 25px; 
        height: 40px; 
        line-height: 40px;
      }
    </style>
  </head>
  <body>
    <div class="seaImg">  <!-- seaImg可动态生成多个 -->
      <div id="picOne"> 
        <img src="img/img2.jpg"> 
        <img src="img/img3.jpg">
        <img src="img/img1.jpg"> 
      </div> 
    </div>
    <!--  遮罩层 -->
    <div class="mask-img"></div>
    <div class="picture">
      <img class="phone" src="" alt="" />
      <div class="left"><img src="img/left.png" alt="" /></div>
      <div class="right"><img src="img/right.png" alt="" /></div>
    </div>
  </body>
  <script>
    function seaImg(){
      $(".mask-img").on("click",function(e){
        $(".mask-img").css("display","none");
        $(".picture").css("display","none");      
      })
      var imgs = $('.seaImg img')
      var images;
      imgs.on('click',function(e){
        var father = (e.currentTarget).parentNode; //当前点击图片的父元素
        var att = father.attributes.id.nodeValue; //父元素自己的属性id
        var image = '#' + att + ' img'
        images = $(image)  //jquer获取id下的所有img
        $(".mask-img").css("display","block");
        $(".picture").css("display","block");     
        $(".phone").attr("src",e.currentTarget.src);
        if(e.currentTarget == images[0]){
          $(".left").css("display","none");
        }else{
          $(".left").css("display","block");
        }      
        if(e.currentTarget == images[images.length-1]){
          $(".right").css("display","none");       
        }else{
          $(".right").css("display","block");      
        }
      })
      




//左点击事件,当图片为第一张的时候左边的箭头点击图片隐藏
      $(".left").on("click",function(){ 
        var imgSrc = $(".phone").attr("src");
        $(".right").css("display","block");    
        for(var i = 0 ; i<images.length; i++){   
          if(imgSrc == images[i].src){
            if(imgSrc == images[1].src){
              $(".left").css("display","none");
            }
            var j = i;
            $(".phone").attr("src",images[j-1].src);
          }
   
        }
      })
      



 //右点击事件, 当图片为最后一张的时候右边箭头点击图片隐藏
      $(".right").on("click",function(){
        var imgSrc = $(".phone").attr("src");
        $(".left").css("display","block");     
        for(var i = 0 ; i<images.length; i++){       
          if(imgSrc == images[i].src){
            if(imgSrc == imgs[images.length-2].src){
              $(".right").css("display","none");
            }
            var j = i;
            $(".phone").attr("src",images[j+1].src);
          }
        }
      })
       
    }
     seaImg()
  </script>
</html>

< 向左点击事件

>  向右点击事件

第一张效果图

js实现图片放大展示效果

中间图片效果图

js实现图片放大展示效果

最后一张效果图

js实现图片放大展示效果

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
jQuery中获取Radio元素值的方法
Jul 02 Javascript
js判断上传文件的类型和大小示例代码
Oct 18 Javascript
如何编写高质量JS代码
Dec 28 Javascript
jQuery中clearQueue()方法用法实例
Dec 29 Javascript
JavaScript中的bold()方法使用详解
Jun 08 Javascript
整理关于Bootstrap过渡动画的慕课笔记
Mar 29 Javascript
微信小程序之前台循环数据绑定
Aug 18 Javascript
基于VUE.JS的移动端框架Mint UI的使用
Oct 11 Javascript
在 Node.js 中使用 async 函数的方法
Nov 17 Javascript
webpack4 + react 搭建多页面应用示例
Aug 03 Javascript
JavaScript常用内置对象用法分析
Jul 09 Javascript
vant中的toast轻提示实现代码
Nov 04 Javascript
详解js几个绕不开的事件兼容写法
Aug 30 #Javascript
JavaScript实现滑动导航栏效果
Aug 30 #Javascript
详解vue-cli 构建Vue项目遇到的坑
Aug 30 #Javascript
前端开发不得不知的10个最佳ES6特性
Aug 30 #Javascript
vue.js的手脚架vue-cli项目搭建的步骤
Aug 30 #Javascript
for循环 + setTimeout 结合一些示例(前端面试题)
Aug 30 #Javascript
详解使用nvm管理多版本node的方法
Aug 30 #Javascript
You might like
PHP函数microtime()用法与说明
2013/12/04 PHP
php操作MongoDB基础教程(连接、新增、修改、删除、查询)
2014/03/25 PHP
Smarty局部缓存的几种方法简介
2014/06/17 PHP
Laravel 5框架学习之模型、控制器、视图基础流程
2015/04/08 PHP
PHP Static延迟静态绑定用法分析
2016/03/16 PHP
使用jQuery异步加载 JavaScript脚本解决方案
2014/04/20 Javascript
javascript 常见功能汇总
2015/06/11 Javascript
javascript实现textarea中tab键的缩排处理方法
2015/06/26 Javascript
JS版元素周期表实现方法
2015/08/05 Javascript
JS实现下拉菜单赋值到文本框的方法
2015/08/18 Javascript
jQuery实现仿QQ空间装扮预览图片的鼠标提示效果代码
2015/10/30 Javascript
jQuery检测滚动条是否到达底部
2015/12/15 Javascript
jQuery 3.0十大新特性最终版发布
2016/07/14 Javascript
js调用父框架函数与弹窗调用父页面函数的简单方法
2016/11/01 Javascript
微信开发 JS-SDK 6.0.2 经常遇到问题总结
2016/12/08 Javascript
解决html-jquery/js引用外部图片时遇到看不了或出现403的问题
2017/09/22 jQuery
jquery鼠标悬停导航下划线滑出效果
2017/09/29 jQuery
Vue-cli Eslint在vscode里代码自动格式化的方法
2018/02/23 Javascript
vue中实现移动端的scroll滚动方法
2018/03/03 Javascript
Vue项目webpack打包部署到Tomcat刷新报404错误问题的解决方案
2018/05/15 Javascript
在JavaScript中如何访问暂未存在的嵌套对象
2019/06/18 Javascript
浅谈layui分页控件field参数接收对象的问题
2019/09/20 Javascript
vue.js中使用微信扫一扫解决invalid signature问题(完美解决)
2020/04/11 Javascript
python格式化字符串实例总结
2014/09/28 Python
实例说明Python中比较运算符的使用
2015/05/13 Python
python儿童学游戏编程知识点总结
2019/06/03 Python
Python实现随机生成任意数量车牌号
2020/01/21 Python
python如何设置静态变量
2020/09/07 Python
巴西儿童时尚购物网站:Dinda
2019/08/14 全球购物
汽车运用工程系毕业生自荐信
2013/12/27 职场文书
工地安全标语
2014/06/07 职场文书
七一党日活动总结
2014/07/08 职场文书
学生乘坐校车安全责任书
2015/05/11 职场文书
校车司机安全责任书
2015/05/11 职场文书
入党心得体会
2019/06/20 职场文书
Android实现获取短信验证码并自动填充
2023/05/21 Java/Android