资讯专栏INFORMATION COLUMN

前端实例练习 - 模态图

voidking / 1179人阅读

摘要:模态图代码储存在效果预览初衷很多人在初学前端的时候都会问,如何入门前端同为在前端学习道路上,奋力追赶的一员,本人对于目前网络上所能看到的入门级的教材并不太满意。在这里本人整理了目前页面上常见功能实现的具体实例。

模态图

代码储存在Github
效果预览

初衷:很多人在初学前端的时候都会问,“如何入门前端?”
同为在前端学习道路上,奋力追赶的一员,本人对于目前网络上所能看到的 “入门级” 的教材并不太满意。学习一门新知识,实例是尤其重要的。在这里本人整理了目前页面上常见功能实现的具体实例。愿能为大家提供一些帮助。
希望能够与大家互相分享,共同进步。

效果预览

HTML 部分
    
    图片

    
    
CSS 部分

触发图片样式

/*触发图片样式*/
.myImg {
    border-radius: 5px;
    cursor: pointer;
    transition: 0.3s;
}

.myImg:hover {
    opacity: 0.7;
}

模态框样式

/*模态框样式*/
.modal {
    display: none; /* 默认隐藏 */
    position: fixed; /* 相对浏览器定位 */
    z-index: 1; /* 放在首位 */
    padding-top: 100px; /* 头部加padding */
    left: 0;
    top: 0;
    width: 100%; /* 全宽 */
    height: 100%; /* 全高 */
    overflow: auto; /* 允许超出滚屏 */
    background-color: rgba(0,0,0,0.9);
}

模态框内容样式

/*模态框内容样式*/
.modal-content {
    margin: 0 auto; /*居中*/
    display: block;
    width: 80%;
    max-width: 700px;
}

/*加断点,响应式改变宽度*/
@media only screen and (max-width: 700px){
    .modal-content {
        width: 100%;
    }
}

#caption {
    margin: 0 auto; /*居中*/
    display: block;
    width: 80%;
    max-width: 700px;
    text-align: center;
    color: #ccc;
    padding: 10px 0;
    height: 150px;
}

/*加动效果*/
.modal-content, #caption { 
    animation-name: zoom;
    animation-duration: 0.6s;
}

@keyframes zoom {
    from {transform:scale(0)} 
    to {transform:scale(1)}
}

/*关闭按钮样式*/
.close {
    position: absolute;
    top: 15px;
    right: 35px;
    color: #f1f1f1;
    font-size: 40px;
    font-weight: bold;
    transition: 0.3s;
}

.close:hover {
    color: #bbb;
    text-decoration: none;
    cursor: pointer;
}
JavaScript 内容

离开全局

(function() {})();

创建模态图对象

/*模态图对象*/
    var modalImg = {};

编写模态图对象

    /*触发图片*/
    modalImg.triggerImg = document.getElementsByClassName("myImg");
    
    /*关闭按钮*/
    modalImg.closeBtn = document.getElementById("closeBtn");
    
    /*模态背景*/
    modalImg.modal = document.getElementById("myModal");
    
    /*模态图*/
    modalImg.img = document.getElementById("img01");
    
    /*模态图标题*/
    modalImg.captionText = document.getElementById("caption");

    /*模态图显示*/
    modalImg.show = function() {
        this.modal.style.display = "block";
        this.img.src = this.triggerImg[0].src;
        this.captionText.innerText = this.triggerImg[0].alt;
    }

    /*模态图关闭*/
    modalImg.close = function() {
        this.modal.style.display = "none";
    }

    /*点击模态图以外区域,模态图关闭*/
    modalImg.outsideClick = function() {
        var that = this;
        window.onclick = function(event) {
            if(event.target == that.modal) {
                that.close();
            }
        }
    }

    /*初始化*/
    modalImg.init = function() {
        var that = this;
        this.triggerImg[0].onclick = function() {
            that.show();
        }
        this.closeBtn.onclick = function() {
            that.close();
        }
        this.outsideClick();
    }

调用

    /*模态图调用*/
    modalImg.init();

好啦,现在所有的代码都写完啦!

赶快打开浏览器,看看效果吧!

在这里,只是给大家提供一种思路,参考。
具体的实现,每个人都可以有不同的方法。
请大家赶快发挥想象,把你最想实现的功能,在电脑敲出来吧!

代码参考自w3cschools

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/116606.html

相关文章

  • 前端实例练习 - 模态

    摘要:模态图代码储存在效果预览初衷很多人在初学前端的时候都会问,如何入门前端同为在前端学习道路上,奋力追赶的一员,本人对于目前网络上所能看到的入门级的教材并不太满意。在这里本人整理了目前页面上常见功能实现的具体实例。 模态图 代码储存在Github效果预览 初衷:很多人在初学前端的时候都会问,如何入门前端?同为在前端学习道路上,奋力追赶的一员,本人对于目前网络上所能看到的 入门级 的教材并不...

    Turbo 评论0 收藏0
  • 前端实例练习 - 模态

    摘要:模态图代码储存在效果预览初衷很多人在初学前端的时候都会问,如何入门前端同为在前端学习道路上,奋力追赶的一员,本人对于目前网络上所能看到的入门级的教材并不太满意。在这里本人整理了目前页面上常见功能实现的具体实例。 模态图 代码储存在Github效果预览 初衷:很多人在初学前端的时候都会问,如何入门前端?同为在前端学习道路上,奋力追赶的一员,本人对于目前网络上所能看到的 入门级 的教材并不...

    smartlion 评论0 收藏0
  • 前端实例练习 - 模态相册

    摘要:模态相册代码储存在效果预览初衷很多人在初学前端的时候都会问,如何入门前端同为在前端学习道路上,奋力追赶的一员,本人对于目前网络上所能看到的入门级的教材并不太满意。在这里本人整理了目前页面上常见功能实现的具体实例。 模态相册 代码储存在Github效果预览 初衷:很多人在初学前端的时候都会问,如何入门前端?同为在前端学习道路上,奋力追赶的一员,本人对于目前网络上所能看到的 入门级 的教材...

    FreeZinG 评论0 收藏0
  • 前端实例练习 - 模态相册

    摘要:模态相册代码储存在效果预览初衷很多人在初学前端的时候都会问,如何入门前端同为在前端学习道路上,奋力追赶的一员,本人对于目前网络上所能看到的入门级的教材并不太满意。在这里本人整理了目前页面上常见功能实现的具体实例。 模态相册 代码储存在Github效果预览 初衷:很多人在初学前端的时候都会问,如何入门前端?同为在前端学习道路上,奋力追赶的一员,本人对于目前网络上所能看到的 入门级 的教材...

    whidy 评论0 收藏0
  • 前端实例练习 - 模态相册

    摘要:模态相册代码储存在效果预览初衷很多人在初学前端的时候都会问,如何入门前端同为在前端学习道路上,奋力追赶的一员,本人对于目前网络上所能看到的入门级的教材并不太满意。在这里本人整理了目前页面上常见功能实现的具体实例。 模态相册 代码储存在Github效果预览 初衷:很多人在初学前端的时候都会问,如何入门前端?同为在前端学习道路上,奋力追赶的一员,本人对于目前网络上所能看到的 入门级 的教材...

    android_c 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<