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 相关文章推荐
js中的referrer返回上一页使用介绍
Sep 26 Javascript
jQuery插件zepto.js简单实现tab切换
Jun 16 Javascript
JavaScript的jQuery库中ready方法的学习教程
Aug 14 Javascript
jQuery获取radio选中项的值实例
Jun 18 Javascript
BootStrap使用popover插件实现鼠标经过显示并保持显示框
Jun 23 Javascript
微信小程序表单验证错误提示效果
May 19 Javascript
vue中如何实现变量和字符串拼接
Jun 19 Javascript
Angular2 组件交互实例详解
Aug 24 Javascript
详细分析jsonp的原理和实现方式
Nov 20 Javascript
浅析前端路由简介以及vue-router实现原理
Jun 01 Javascript
JavaScript 判断对象中是否有某属性的常用方法
Jun 14 Javascript
如何构建 vue-ssr 项目的方法步骤
Aug 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
AJAX for PHP简单表数据查询实例
2007/01/02 PHP
PHPer 需要了解的 5 个 Composer 小技巧
2014/08/18 PHP
YII2框架中excel表格导出的方法详解
2017/07/21 PHP
javascript基于jQuery的表格悬停变色/恢复,表格点击变色/恢复,点击行选Checkbox
2008/08/05 Javascript
JavaScript 检测浏览器和操作系统的脚本
2008/12/26 Javascript
jQuery EasyUI API 中文文档 - Tree树使用介绍
2011/11/19 Javascript
jquery入门——事件机制之事件中的冒泡现象示例解释
2020/09/12 Javascript
JS中substring与substr的用法
2016/11/16 Javascript
Javascript中字符串和数字的操作方法整理
2017/01/22 Javascript
jQuery为DOM动态追加事件的方法
2017/02/16 Javascript
JS简单验证上传文件类型的方法
2017/04/17 Javascript
Vue实现typeahead组件功能(非常靠谱)
2017/08/26 Javascript
简单的vuex 的使用案例笔记
2018/04/13 Javascript
Vue 项目代理设置的优化
2018/04/17 Javascript
vue的注意规范之v-if 与 v-for 一起使用教程
2019/08/04 Javascript
js实现二级联动简单实例
2020/01/11 Javascript
Webpack中SplitChunksPlugin 配置参数详解
2020/03/24 Javascript
微信小程序以ssm做后台开发的实现示例
2020/04/08 Javascript
从0到1学习JavaScript编写贪吃蛇游戏
2020/07/28 Javascript
Python时间戳与时间字符串互相转换实例代码
2013/11/28 Python
Python使用Redis实现作业调度系统(超简单)
2016/03/22 Python
基于Python 的进程管理工具supervisor使用指南
2016/09/18 Python
python 限制函数执行时间,自己实现timeout的实例
2019/01/12 Python
python实现超市商品销售管理系统
2019/11/22 Python
用pytorch的nn.Module构造简单全链接层实例
2020/01/14 Python
Python : turtle色彩控制实例详解
2020/01/19 Python
pycharm快捷键汇总
2020/02/14 Python
python 日志 logging模块详细解析
2020/03/31 Python
python Django 反向访问器的外键冲突解决
2020/05/20 Python
python模拟点击玩游戏的实例讲解
2020/11/26 Python
四年级语文教学反思
2014/02/05 职场文书
2015年清明节扫墓演讲稿
2015/03/18 职场文书
飞越疯人院观后感
2015/06/09 职场文书
2017年大学生寒假社会实践活动总结
2016/04/06 职场文书
Go语言带缓冲的通道实现
2021/04/26 Golang
CSS实现五种常用的2D转换
2021/12/06 HTML / CSS