这篇文章给大家分享的是有关JS怎样实现图片点击后出现模态框效果的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。
目前创新互联已为成百上千家的企业提供了网站建设、域名、虚拟空间、网站托管维护、企业网站设计、郓城网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。
一.实现思路
我们点击小图片之后,图片模态框出现,同时图片模态框上有一个关闭按钮和图片的标题。
因此,我们的实现思路就是:
图片模态框有大图片,关闭按钮,图片标题三部分。
将图片模态框隐藏,在点击小图片之后,模态框出现。
点击关闭按钮后,模态框隐藏。
二.HTML代码
首先,我们的原始页面上有一个图片如下:
HTML代码如下:
图片点击弹出模态框效果
图片模态框很不错,是个值得学习的效果
模态框的HTML代码如下:
×
三.css代码
我们需要通过css设置模态框中各元素的表现效果同时将其隐藏起来,具体有如下几步:
1.模态框
#mo{ display: none;/*隐藏模态框*/ width: 100%; height: 100%; position: fixed;/*定位方式为固定定位*/ overflow: auto;/*不滚动*/ background-color: rgba(0,0,0,0.7); top: 0px; left: 0px; z-index: 1;/*置于页面图层之上*/ }
2.关闭按钮
.close{ font-size: 40px; font-weight: bold; position: absolute; top: 20px; right: 14%; color:#f1f1f1; } .close:hover, .close:focus{ color:#bbb; cursor:pointer; }
3.模态框中图片
#moimg{ display: block;/*图片表现为块*/ margin:25px auto;/*图片居中对齐*/ width: 60%; max-width: 750px;/*自适应布局*/ }
4.图片标题
#caption{ text-align: center;/*文本居中*/ margin: 15px auto; width: 60%; max-height: 750px; font-size: 20px; color:#ccc; }
以上就是基本的模态框各元素的css代码,如果想实现点击后扩大的动画效果,可以增加以下代码:
#moimg,#caption{ -webkit-animation: first 1s; -o-animation: first 1s; animation: first 1s; } @keyframes first{ from{transform: scale(0.1);} to{transform: scale(1);} }
通过以上步骤,我们已经制作好了模态框页面。在使用js来完成交互效果就可以了。
四.js代码
js代码主要是图片和关闭按钮的点击交互,需要注意的是js代码须位于模态框HTML代码之后,js具体代码如下,:
var motai=document.getElementById('mo') var moimg=document.getElementById("moimg") var realimg=document.getElementById("real") var caption=document.getElementById("caption") realimg.onclick=function(){ motai.style.display="block" moimg.src=this.src caption.innerHTML=this.alt } var span=document.getElementById("close"); span.onclick=function(){ motai.style.display="none"; }
通过以上步骤,图片的模态框效果就实现了,
最后总的代码如下:
close 图片点击弹出模态框效果
图片模态框很不错,是个值得学习的效果
×
感谢各位的阅读!关于“JS怎样实现图片点击后出现模态框效果”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!