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

所属分类: 网页制作 / CSS 阅读数: 1471
收藏 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配合JavaScript做酷的动态页面效果

  利用CSS配合JavaScript的可以做很多更酷的动态页面效果,在本教程的最后给大家简单介绍一下CSS配合JS的应用。首先,要搞清楚事件和动作的概念。在客户端脚本中,JavaScript 通过对事件进行响应来获得与用户的交互。例如,当用户单击一个按钮或者在某段文字上移动鼠标
收藏 0 赞 0 分享

WEB标准,Web前端开发工程师必备技术列表

  想要打造并拥有一流的Web产品开发团队,在团队成员基础能力上一定要下功夫。对于Web前端产品开发来说,仅仅掌握Web1.0时代简单的"网页套接"是完全不够的。我结合自己的团队配备,特此罗列了Web前端产品工程师所涉及的技能列表如下:   通过许多实际项目,
收藏 0 赞 0 分享

用CSS制作Alpha滤镜测试板

alpha滤镜给制作网页特效提供了较大的创作空间,但由于它控制参数较多,在实际应用时,为了确定一组合适的参数值,不得不反复调整修改,在编辑窗口和预览窗口来回倒腾,甚是麻烦,本文介绍了一种简单的方法。制作一个“Alpha滤镜参数测试板”,在测试板上输入参数
收藏 0 赞 0 分享

非常流行的所谓的气泡窗口

普通的Alt无法自定义风格,而Sweet Titles通过JS脚本与CSS的集合.自定义了这种伪Alt风格. 前一段时间非常流行的,就所谓的气泡窗口(鼠标移到链接处出现的). 我们这里实现的用的是Sweet Titles的插件.显示效果完全由CSS控制.. 先下载Sweet Ti
收藏 0 赞 0 分享

CSS教程:li和ul标签用法举例

LI代码的格式化: A).运用CSS格式化列表符: ul li{ list-style-type:none; } B).如果你想将列表符换成图像,则: ul li{ list-style-type:none; list-style-image: url(/blog/images/
收藏 0 赞 0 分享

CSS教程:CSS中的定位(position)

  使用CSS来定位页面内层的位置,一直是比较难以掌握的事情,很多时候,往往被绝对定位的元素,总是以浏览器的左上角为坐标原点,此时,如果浏览器的大小改变,被定义的层就会偏离设计想要的位置,让人很挠头。   其实,要想控制好层的绝对定位,只要理解CSS中关于定位
收藏 0 赞 0 分享

CSS教程:盒模型(BOX Model)

  如果想熟练掌握DIV和CSS的布局方法,首先要对盒模型有足够的了解。每个HTML元素都可以看作一个装了东西的盒子,盒子里面的内容到盒子的边框之间的距离即填充(padding),盒子本身有边框(border),而盒子边框外和其他盒子之间,还有边界(margin),如图1所示。
收藏 0 赞 0 分享

无延迟翻滚的图形与CSS混合风格按钮

  在一个具有图形背景的按钮中添加CSS风格的文本,这种建立按钮的方法结合了具有CSS翻滚(CSS rollover)标记的开发速度和效率,从而有效地提高按钮外表图像的三维效果。   相比于常规的图形按钮,这些图形/CSS混合按钮可易于建立和载入,因为你只需要为空白按钮外面
收藏 0 赞 0 分享

css里expression实现界面对象的批量控制

用过css样式我们就知道, 可以定义一批对象的class属性来指定同一个样式来统一界面. 但如何统一同类型的对象的事件? 比如:界面有无数个 <img src="**.jpg"> 如何实现鼠标经过此图片, 图片的src变成是**_over.jpg?
收藏 0 赞 0 分享

CSS教程:水平对齐(text-align)

  水平对齐(text-align),用以设定元素内文本的水平对齐方式。   1.语法   text-align具体参数如下: 语法:text-align:left|right|center|justify 说明:设定元素内文本的水平对齐方式。 参数:left:左
收藏 0 赞 0 分享
查看更多