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 相关文章推荐
ASP中用Join和Array,可以加快字符连接速度的代码
Aug 22 Javascript
javascript import css实例代码
Jul 18 Javascript
比较全的JS checkbox全选、取消全选、删除功能代码
Dec 19 Javascript
javascript 构建一个xmlhttp对象池合理创建和使用xmlhttp对象
Jan 15 Javascript
js触发asp.net的Button的Onclick事件应用
Feb 02 Javascript
JS 各种网页尺寸判断实例方法
Apr 18 Javascript
详解JavaScript的AngularJS框架中的作用域与数据绑定
Mar 04 Javascript
react-native fetch的具体使用方法
Nov 01 Javascript
JS中获取 DOM 元素的绝对位置实例详解
Apr 23 Javascript
angularJs利用$scope处理升降序的方法
Oct 08 Javascript
JavaScript寄生组合式继承原理与用法分析
Jan 11 Javascript
JS前端轻量fabric.js系列之画布初始化
Aug 05 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
解析CI的AJAX分页 另类实现方法
2013/06/27 PHP
php解析xml方法实例详解
2015/05/12 PHP
PHP实现简单汉字验证码
2015/07/28 PHP
Yii rules常用规则示例
2016/03/15 PHP
PHP缩略图生成和图片水印制作
2017/01/07 PHP
JavaScript 字符串与数组转换函数[不用split与join]
2009/12/13 Javascript
24款非常有用的 jQuery 插件分享
2011/04/06 Javascript
jquery解析JSON数据示例代码
2014/03/17 Javascript
详解AngularJS中自定义指令的使用
2015/06/17 Javascript
jQuery常用且重要方法汇总
2015/07/13 Javascript
基于Jquery和html5的7款个性化地图插件
2015/11/17 Javascript
阻止表单提交按钮多次提交的完美解决方法
2016/05/16 Javascript
AngularJS 路由和模板实例及路由地址简化方法(必看)
2016/06/24 Javascript
JS短信验证码倒计时功能的实现(没有验证码,只有倒计时)
2016/10/27 Javascript
jQuery插件开发发送短信倒计时功能代码
2017/05/09 jQuery
Js中async/await的执行顺序详解
2017/09/22 Javascript
JS实现合并json对象的方法
2017/10/10 Javascript
Bootstrap导航菜单点击后无法自动添加active的处理方法
2018/08/10 Javascript
Vue-CLI项目中路由传参的方式详解
2019/09/01 Javascript
手动实现vue2.0的双向数据绑定原理详解
2021/02/06 Vue.js
[02:55]DOTA2英雄基础教程 发条技师
2013/12/04 DOTA
[31:33]2014 DOTA2国际邀请赛中国区预选赛 TongFu VS DT 第一场
2014/05/23 DOTA
pygame游戏之旅 调用按钮实现游戏开始功能
2018/11/21 Python
Python3利用Dlib实现摄像头实时人脸检测和平铺显示示例
2019/02/21 Python
python 实现矩阵填充0的例子
2019/11/29 Python
基于TensorFlow常量、序列以及随机值生成实例
2020/01/04 Python
用React加CSS3实现微信拆红包动画效果
2017/03/13 HTML / CSS
详解如何在css中引入自定义字体(font-face)
2018/05/17 HTML / CSS
软件测试面试题
2015/10/21 面试题
2014厂务公开实施方案
2014/02/17 职场文书
2014院党委领导班子及其成员群众路线对照检查材料思想汇报
2014/10/04 职场文书
机关党员四风问题个人整改措施
2014/10/26 职场文书
大学生见习报告总结
2014/11/04 职场文书
2014年创先争优工作总结
2014/12/11 职场文书
numpy数据类型dtype转换实现
2021/04/24 Python
德劲DE1107指针试高灵敏度全波段收音机机评
2022/04/05 无线电