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 相关文章推荐
JavaScript判断两种格式的输入日期的正确性的代码
Mar 25 Javascript
[原创]用javascript实现检测指定目录是否存在的方法
Jan 12 Javascript
通用javascript脚本函数库 方便开发
Oct 13 Javascript
如何使用JS获取IE上传文件路径(IE7,8)
Jul 08 Javascript
整理JavaScript创建对象的八种方法
Nov 03 Javascript
javascript实现的登陆遮罩效果汇总
Nov 09 Javascript
基于jquery实现下拉框美化特效
Feb 02 Javascript
用JS实现轮播图效果(二)
Jun 26 Javascript
three.js实现围绕某物体旋转
Jan 25 Javascript
js的OOP继承实现(必看篇)
Feb 18 Javascript
微信小程序中的swiper组件详解
Apr 14 Javascript
JavaScript原生数组函数实例汇总
Oct 14 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
phpmyadmin操作流程
2006/10/09 PHP
php5.3 废弃函数小结
2010/05/16 PHP
PHP获取当前日期所在星期(月份)的开始日期与结束日期(实现代码)
2013/06/18 PHP
关于PHP中Session文件过多的问题及session文件保存位置
2016/03/17 PHP
Laravel 自带的Auth验证登录方法
2019/09/30 PHP
JavaScript 学习笔记 Black.Caffeine 09.11.28
2009/11/30 Javascript
DD_belatedPNG,IE6下PNG透明解决方案(国外)
2010/12/06 Javascript
document.forms[].submit()使用介绍
2014/02/19 Javascript
javascript实现的HashMap类代码
2014/06/27 Javascript
jQuery实现鼠标经过图片变亮其他变暗效果
2015/05/08 Javascript
jQuery控制frames及frame页面JS的方法
2016/03/08 Javascript
javascript之Array 数组对象详解
2016/06/07 Javascript
javascript弹出带文字信息的提示框效果
2016/07/19 Javascript
[Bootstrap-插件使用]Jcrop+fileinput组合实现头像上传功能实例代码
2016/12/20 Javascript
JS匹配日期和时间的正则表达式示例
2017/05/12 Javascript
基于jQuery封装的分页组件
2017/06/26 jQuery
ejsExcel模板在Vue.js项目中的实际运用
2018/01/27 Javascript
JS通过位运算实现权限加解密
2018/08/14 Javascript
通过实例讲解JS如何防抖动
2019/06/15 Javascript
解决Vue + Echarts 使用markLine标线(precision精度问题)
2020/07/20 Javascript
Python translator使用实例
2008/09/06 Python
python strip() 函数和 split() 函数的详解及实例
2017/02/03 Python
Python 操作MySQL详解及实例
2017/04/30 Python
Python简单爬虫导出CSV文件的实例讲解
2018/07/06 Python
对numpy中的where方法嵌套使用详解
2018/10/31 Python
Python实现去除图片中指定颜色的像素功能示例
2019/04/13 Python
详解如何设置Python环境变量?
2019/05/13 Python
HTML5新特性 多线程(Worker SharedWorker)
2017/04/24 HTML / CSS
金融专业个人的自我评价
2013/10/18 职场文书
路政管理专业推荐信
2013/11/11 职场文书
保护环境建议书100字
2014/05/13 职场文书
学习计划书怎么写
2014/09/15 职场文书
工人先进事迹材料
2014/12/26 职场文书
元素水平垂直居中的方式
2021/03/31 HTML / CSS
Vue3.0写自定义指令的简单步骤记录
2021/06/27 Vue.js
win10电脑关机快捷键是哪个 win10快速关机的几种方法
2022/08/14 数码科技