您的位置:首页 > Web前端 > CSS

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

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


图片1


图片2
  实现的代码:

  html代码:

<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>     
    <div id="ImageScaBg"></div>     
    <div id="ImageSca">     
       <div id="ImageContainer">     
          <img id="imgCenter" src="1img3.jpg"/>     
          <div id="imgLunbo"><img class="imgLunboItem" src="1img1.jpg"/></div>     
       </div>     
       <div id="ImageInfo">     
         <h3 id="imgName"></h3>     
         <p id="imgInfo"></p>     
       </div>     
    </div>

  css3代码:

#ImageMain {     
        width: 630px;     
        height: 500px;     
        margin: 0 auto;     
        margin-top: 100px;     
    }     
    #ImageMain>img{     
        width:200px;     
        height:200px;     
        cursor:pointer;     
        float:left;     
        margin-left:10px;     
        margin-top:10px;     
    }     
    #ImageMain>img:hover{     
        opacity:0.8;     
    }     
    #ImageScaBg{     
        position:fixed;     
        background-color:#000;     
        top:0px;     
        left:0px;     
        opacity:0.6;     
        width:100%;     
        height:100%;     
        display:none;     
    }     
    #ImageSca{     
        position:absolute;     
        background-color:#333;     
        border:1px solid #ccc;     
         -webkit-border-radius:5px;       
        -moz-border-radius:5px;      
        border-radius:5px;       
        display:none;     
    }     
    #ImageContainer{     
        float:left;     
        text-align:center;     
    }     
        
    #ImageInfo{     
        float:left;     
        width:300px;     
        background-color:#fff;     
         -webkit-border-radius:0 3px 3px 0;       
        -moz-border-radius:0 3px 3px 0;       
        border-radius:0 3px 3px 0;       
    }     
    #imgName{     
        font: 15px "微软雅黑", Arial, Helvetica, sans-serif;     
        padding-left:10px;     
        font-weight:500px;     
    }     
    #imgInfo{     
        font: 13px "微软雅黑", Arial, Helvetica, sans-serif;     
        padding-left:10px;     
        color:#808080;     
    }     
    #imgLunbo{     
        height:80px;     
        position:absolute;     
        margin-left:50px;     
    }     
    .imgLunboItem{     
        width:76px;     
        height:76px;     
        margin-left:10px;     
    }

  JQ的代码:

var ImageScaHandler={     
        ImageMaxWidth:800,     
        ImageMaxHeight:600,     
        ImagePathJson:[{imgName:"预览弹出层测试图片1",imgPath:"1img1.jpg",imgInfo:"HTML图片预览弹出层测试图片-豪车图片集锦(图片均来自互联网)"},     
        {imgName:"预览弹出层测试图片2",imgPath:"1img2.jpg",imgInfo:"HTML图片预览弹出层测试图片-豪车图片集锦(图片均来自互联网)"},     
        {imgName:"预览弹出层测试图片3",imgPath:"1img3.jpg",imgInfo:"HTML图片预览弹出层测试图片-豪车图片集锦(图片均来自互联网)"},     
        {imgName:"预览弹出层测试图片4",imgPath:"1img4.jpg",imgInfo:"HTML图片预览弹出层测试图片-豪车图片集锦(图片均来自互联网)"},     
        {imgName:"预览弹出层测试图片5",imgPath:"1img5.jpg",imgInfo:"HTML图片预览弹出层测试图片-豪车图片集锦(图片均来自互联网)"},     
        {imgName:"预览弹出层测试图片6",imgPath:"1img6.jpg",imgInfo:"HTML图片预览弹出层测试图片-豪车图片集锦(图片均来自互联网)"}     
        ],     
        Init:function(){     
            $("#ImageSca").css("width",ImageScaHandler.ImageMaxWidth 200 "px");     
            $("#ImageSca").css("height",ImageScaHandler.ImageMaxHeight 10 "px");     
            $("#ImageSca").css("top",($(window).height()-$("#ImageSca").height())/2 "px");     
            $("#ImageSca").css("left",($(window).width()-$("#ImageSca").width())/2 "px");     
            $("#ImageContainer").css("width",$("#ImageSca").width()-300 "px").css("height",$("#ImageSca").height());     
            $("#imgLunbo").css("width",$("#ImageSca").width()-300-100 "px").css("top",$("#ImageSca").height()-90 "px");     
            $("#ImageInfo").css("height",$("#ImageSca").height());     
            $("#ImageMain>img").click(function(){     
                ImageScaHandler.ChangeImage($(this));     
            });     
                    ImageScaHandler.GetImage();     
            $("#ImageSca").click(function(event){     
                event.stopPropagation();     
            });     
            $("#ImageScaBg").click(function(event){     
                ImageScaHandler.Hide();     
            });     
        },     
        Show:function(){     
            $("#ImageSca").css("display","block");     
            $("#ImageScaBg").css("display","block");     
        },     
        Hide:function(){     
            $("#ImageSca").css("display","none");     
            $("#ImageScaBg").css("display","none");     
        },     
        GetImage:function(){     
            $("#imgLunbo").children().remove();     
            for(var i=0;i<ImageScaHandler.ImagePathJson.length;i  ){     
               var mImage=document.createElement("img");     
               mImage.className="imgLunboItem";     
               mImage.src=ImageScaHandler.ImagePathJson[i].imgPath;     
               $("#imgLunbo").append(mImage);     
               mImage.onclick=function(){     
                   $(".imgLunboItem").css("border","0px solid #000");     
                   ImageScaHandler.ChangeImage($(this));     
               }     
            }     
        },     
        ChangeImage:function(target){     
                $("#ImageContainer>img").attr("src",$(target).attr("src"));     
                $("#ImageContainer>img").css("margin-top",100 "px");     
                ImageScaHandler.Show();     
                 $(".imgLunboItem").css("border","0px solid #000");     
                for(var i=0;i<ImageScaHandler.ImagePathJson.length;i  ){     
                    if(ImageScaHandler.ImagePathJson[i].imgPath==$(target).attr("src")){     
                        $("#imgName").html(ImageScaHandler.ImagePathJson[i].imgName);     
                        $("#imgInfo").html(ImageScaHandler.ImagePathJson[i].imgInfo);     
                        $($(".imgLunboItem")[i]).css("border","2px solid #efefef");     
                    }     
                }     
        }     
    }

 以上就是利用HTML、CSS和Jq实现的图片点击预览功能,谢谢阅读,希望能帮到大家,请继续关注脚本之家,我们会努力分享更多优秀的文章。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: