利用HTML、CSS实现的图片预览弹出层的教程

所属分类: 网页制作 / CSS 阅读数: 1428
收藏 0 赞 0 分享

  本篇效果利用HTML、CSS和Jq实现的图片点击预览功能,在预览时也可以点击切换图片。图片1为整体效果,图片2是点击图片1后出现被点击图片的预览图片的名称以及说明。

图片1

图片2

  实现的代码:

  html代码:

XML/HTML Code复制内容到剪贴板
  1. <div id="ImageMain"> <img src="1img1.jpg"/><img src="1img2.jpg"/> <img src="1img3.jpg"/> <img src="1img4.jpg"/> <img src="1img5.jpg"/> <img src="1img6.jpg"/> </div>     
  2. <div id="ImageScaBg"></div>     
  3. <div id="ImageSca">     
  4.    <div id="ImageContainer">     
  5.       <img id="imgCenter" src="1img3.jpg"/>     
  6.       <div id="imgLunbo"><img class="imgLunboItem" src="1img1.jpg"/></div>     
  7.    </div>     
  8.    <div id="ImageInfo">     
  9.      <h3 id="imgName"></h3>     
  10.      <p id="imgInfo"></p>     
  11.    </div>     
  12. </div>    

  css3代码:

CSS Code复制内容到剪贴板
  1. #ImageMain {     
  2.     width630px;     
  3.     height500px;     
  4.     margin: 0 auto;     
  5.     margin-top100px;     
  6. }     
  7. #ImageMain>img{     
  8.     width:200px;     
  9.     height:200px;     
  10.     cursor:pointer;     
  11.     float:left;     
  12.     margin-left:10px;     
  13.     margin-top:10px;     
  14. }     
  15. #ImageMain>img:hover{     
  16.     opacity:0.8;     
  17. }     
  18. #ImageScaBg{     
  19.     position:fixed;     
  20.     background-color:#000;     
  21.     top:0px;     
  22.     left:0px;     
  23.     opacity:0.6;     
  24.     width:100%;     
  25.     height:100%;     
  26.     display:none;     
  27. }     
  28. #ImageSca{     
  29.     position:absolute;     
  30.     background-color:#333;     
  31.     border:1px solid #ccc;     
  32.      -webkit-border-radius:5px;       
  33.     -moz-border-radius:5px;      
  34.     border-radius:5px;       
  35.     display:none;     
  36. }     
  37. #ImageContainer{     
  38.     float:left;     
  39.     text-align:center;     
  40. }     
  41.     
  42. #ImageInfo{     
  43.     float:left;     
  44.     width:300px;     
  45.     background-color:#fff;     
  46.      -webkit-border-radius:0 3px 3px 0;       
  47.     -moz-border-radius:0 3px 3px 0;       
  48.     border-radius:0 3px 3px 0;       
  49. }     
  50. #imgName{     
  51.     font15px "微软雅黑"ArialHelveticasans-serif;     
  52.     padding-left:10px;     
  53.     font-weight:500px;     
  54. }     
  55. #imgInfo{     
  56.     font13px "微软雅黑"ArialHelveticasans-serif;     
  57.     padding-left:10px;     
  58.     color:#808080;     
  59. }     
  60. #imgLunbo{     
  61.     height:80px;     
  62.     position:absolute;     
  63.     margin-left:50px;     
  64. }     
  65. .imgLunboItem{     
  66.     width:76px;     
  67.     height:76px;     
  68.     margin-left:10px;     
  69. }    

  JQ的代码:

复制内容到剪贴板
  1. var ImageScaHandler={     
  2.     ImageMaxWidth:800,     
  3.     ImageMaxHeight:600,     
  4.     ImagePathJson:[{imgName:"预览弹出层测试图片1",imgPath:"1img1.jpg",imgInfo:"HTML图片预览弹出层测试图片-豪车图片集锦(图片均来自互联网)"},     
  5.     {imgName:"预览弹出层测试图片2",imgPath:"1img2.jpg",imgInfo:"HTML图片预览弹出层测试图片-豪车图片集锦(图片均来自互联网)"},     
  6.     {imgName:"预览弹出层测试图片3",imgPath:"1img3.jpg",imgInfo:"HTML图片预览弹出层测试图片-豪车图片集锦(图片均来自互联网)"},     
  7.     {imgName:"预览弹出层测试图片4",imgPath:"1img4.jpg",imgInfo:"HTML图片预览弹出层测试图片-豪车图片集锦(图片均来自互联网)"},     
  8.     {imgName:"预览弹出层测试图片5",imgPath:"1img5.jpg",imgInfo:"HTML图片预览弹出层测试图片-豪车图片集锦(图片均来自互联网)"},     
  9.     {imgName:"预览弹出层测试图片6",imgPath:"1img6.jpg",imgInfo:"HTML图片预览弹出层测试图片-豪车图片集锦(图片均来自互联网)"}     
  10.     ],     
  11.     Init:function(){     
  12.         $("#ImageSca").css("width",ImageScaHandler.ImageMaxWidth 200 "px");     
  13.         $("#ImageSca").css("height",ImageScaHandler.ImageMaxHeight 10 "px");     
  14.         $("#ImageSca").css("top",($(window).height()-$("#ImageSca").height())/2 "px");     
  15.         $("#ImageSca").css("left",($(window).width()-$("#ImageSca").width())/2 "px");     
  16.         $("#ImageContainer").css("width",$("#ImageSca").width()-300 "px").css("height",$("#ImageSca").height());     
  17.         $("#imgLunbo").css("width",$("#ImageSca").width()-300-100 "px").css("top",$("#ImageSca").height()-90 "px");     
  18.         $("#ImageInfo").css("height",$("#ImageSca").height());     
  19.         $("#ImageMain>img").click(function(){     
  20.             ImageScaHandler.ChangeImage($(this));     
  21.         });     
  22.                 ImageScaHandler.GetImage();     
  23.         $("#ImageSca").click(function(event){     
  24.             event.stopPropagation();     
  25.         });     
  26.         $("#ImageScaBg").click(function(event){     
  27.             ImageScaHandler.Hide();     
  28.         });     
  29.     },     
  30.     Show:function(){     
  31.         $("#ImageSca").css("display","block");     
  32.         $("#ImageScaBg").css("display","block");     
  33.     },     
  34.     Hide:function(){     
  35.         $("#ImageSca").css("display","none");     
  36.         $("#ImageScaBg").css("display","none");     
  37.     },     
  38.     GetImage:function(){     
  39.         $("#imgLunbo").children().remove();     
  40.         for(var i=0;i<ImageScaHandler.ImagePathJson.length;i  ){     
  41.            var mImage=document.createElement("img");     
  42.            mImage.className="imgLunboItem";     
  43.            mImage.src=ImageScaHandler.ImagePathJson[i].imgPath;     
  44.            $("#imgLunbo").append(mImage);     
  45.            mImage.onclick=function(){     
  46.                $(".imgLunboItem").css("border","0px solid #000");     
  47.                ImageScaHandler.ChangeImage($(this));     
  48.            }     
  49.         }     
  50.     },     
  51.     ChangeImage:function(target){     
  52.             $("#ImageContainer>img").attr("src",$(target).attr("src"));     
  53.             $("#ImageContainer>img").css("margin-top",100 "px");     
  54.             ImageScaHandler.Show();     
  55.              $(".imgLunboItem").css("border","0px solid #000");     
  56.             for(var i=0;i<ImageScaHandler.ImagePathJson.length;i  ){     
  57.                 if(ImageScaHandler.ImagePathJson[i].imgPath==$(target).attr("src")){     
  58.                     $("#imgName").html(ImageScaHandler.ImagePathJson[i].imgName);     
  59.                     $("#imgInfo").html(ImageScaHandler.ImagePathJson[i].imgInfo);     
  60.                     $($(".imgLunboItem")[i]).css("border","2px solid #efefef");     
  61.                 }     
  62.             }     
  63.     }     
  64. }    

 以上就是利用HTML、CSS和Jq实现的图片点击预览功能,谢谢阅读,希望能帮到大家,请继续关注脚本之家,我们会努力分享更多优秀的文章。

更多精彩内容其他人还在看

CSS样式分离之再分离达到精简与重用

无论是CSS的分离还是js的分离,其主要作用之一就是精简与重用,CSS本身就代表着精简与重用,CSS样式分离,我一般指的是“以单独的CSS文件将CSS样式分离出来”,此处的重用多针对不同页面的重用,就是说,一个样式文件,可以多个页面使用,这对于一些公共样式的重构是很有
收藏 0 赞 0 分享

CSS属性behavior的语法使用说明

在进行CSS网页布局的时候,我们经遇到刷新要保留表单里内容的时候,习惯的做法使用cookie,但是那样做实在是很麻烦,css中的behavior就为我们很好的解决了这个问题。今天jb51.net就向大家介绍CSS属性behavior的语法
收藏 0 赞 0 分享

网页制作中的水平居中和垂直居中解决方法集合

 在定义网页的CSS样式的时候,我们或许并不怎么用到垂直居中。
收藏 0 赞 0 分享

最常见IE的Bug及其fix修复方法

Internet Explorer – Web程序员的毒药。在IE上开发时间中有超过60%的时间是花在和IE的bug进行搏斗,让你的开发生产率严重下降。下面是一个教程,告诉你9个IE上最常见的BUG以及如何解决它们。
收藏 0 赞 0 分享

CSS常用浏览器兼容调整小结

用CSS+DIV来写网站代码的好处显而易见,这里不多说了,但由于不同浏览器对CSS的解释不统一,造成不同浏览器下页面错位的现象十分常见……
收藏 0 赞 0 分享

css firefox火狐浏览器下的兼容性问题

css firefox火狐浏览器下的兼容性问题
收藏 0 赞 0 分享

DIV+CSS 浏览器兼容性小结

在网站设计的时候,应该注意css样式兼容不同浏览器问题,特别是对完全使用DIV CSS设计的网,就应该更注意IE6 IE7 FF对CSS样式的兼容,不然,你的网乱可能出去不想出现的效果!
收藏 0 赞 0 分享

div+css 布局常识 8问

CSSer与其他IT职位一样,在找工作的时候,都会面临着面试官提出的问题,或者给出的试卷。今天jb51.net收集了常见的8条面试题目,希望对您有所帮助。
收藏 0 赞 0 分享

CSS用四种方式实现布局

CSS用四种方式实现布局
收藏 0 赞 0 分享

css 解决表格边框不显示的问题

在 IE6 中,当表格单元格中的数据为空时,边框是不显示的,在IE8中是会显示的,怎样解决这个不兼容的问题呢。
收藏 0 赞 0 分享
查看更多