图片放大展示效果的实现代码,可动态生成图片,每次点击看原图的时候为当前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>
< 向左点击事件
> 向右点击事件
第一张效果图
中间图片效果图
最后一张效果图
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持移动技术网。
如对本文有疑问, 点击进行留言回复!!
轻松解决 org.apache.taglibs.standard.tlv.JstlCoreTLV 困惑
vert实践五——Json?Protocol Buffer?FlatBuffers?
[基于tensorflow的人脸检测] 基于神经网络的人脸检测8——验证训练好的神经网络
selenium + ajax抓取英雄联盟全部英雄的详细信息及多线程保存全部皮肤图片到本地
网友评论