HTML 弹窗:点击文字弹出可缩放、最大化、还原和关闭的弹窗

本文将介绍如何使用 HTML 和 JavaScript 创建一个简单的弹窗,并支持点击文字弹出、缩放、最大化、还原和关闭等功能。就像 Windows 应用程序那样的弹窗。

代码示例

<!DOCTYPE html>
<html>
<head>
<style>
    #myModal {
        display: none; /* 默认隐藏弹窗 */
        position: fixed;
        z-index: 1;
        left: 0;
        top: 0;
        width: 100%;
        height: 100%;
        overflow: auto;
        background-color: rgba(0,0,0,0.4);
    }

    #myModal-content {
        background-color: #fefefe;
        margin: 15% auto;
        padding: 20px;
        border: 1px solid #888;
        width: 80%;
        max-width: 600px;
        min-height: 200px;
    }

    #myModal .close {
        color: #aaa;
        float: right;
        font-size: 28px;
        font-weight: bold;
    }

    #myModal .close:hover,
    #myModal .close:focus {
        color: black;
        text-decoration: none;
        cursor: pointer;
    }

    #myModal .maximize {
        color: #aaa;
        float: right;
        font-size: 24px;
        margin-right: 10px;
    }

    #myModal .maximize:hover,
    #myModal .maximize:focus {
        color: black;
        text-decoration: none;
        cursor: pointer;
    }

    #myModal .restore {
        color: #aaa;
        float: right;
        font-size: 24px;
        margin-right: 10px;
    }

    #myModal .restore:hover,
    #myModal .restore:focus {
        color: black;
        text-decoration: none;
        cursor: pointer;
    }
</style>
</head>
<body>

<p>点击<a onclick='openModal()'>这里</a>打开弹窗。</p>

<div id='myModal'>
    <div id='myModal-content'>
        <span class='close' onclick='closeModal()'>&times;</span>
        <span class='maximize' onclick='maximizeModal()'>&#9744;</span>
        <span class='restore' onclick='restoreModal()'>&#9723;</span>
        <h3>弹窗标题</h3>
        <p>弹窗内容</p>
    </div>
</div>

<script>
    var modal = document.getElementById('myModal');
    var modalContent = document.getElementById('myModal-content');
    var isMaximized = false;
    var prevWidth, prevHeight;

    function openModal() {
        modal.style.display = 'block';
    }

    function closeModal() {
        modal.style.display = 'none';
    }

    function maximizeModal() {
        if (!isMaximized) {
            prevWidth = modalContent.style.width;
            prevHeight = modalContent.style.height;
            modalContent.style.width = '100%';
            modalContent.style.height = '100%';
            isMaximized = true;
        }
    }

    function restoreModal() {
        if (isMaximized) {
            modalContent.style.width = prevWidth;
            modalContent.style.height = prevHeight;
            isMaximized = false;
        }
    }

    window.onclick = function(event) {
        if (event.target == modal) {
            closeModal();
        }
    }
</script>

</body>
</html>

代码解释

  1. HTML 结构
    • 使用 <div id='myModal'> 元素作为弹窗的容器,并设置 display: none 隐藏初始状态。
    • <div id='myModal-content'> 元素作为弹窗的内容区域,包含标题、内容和按钮等。
    • <span class='close'><span class='maximize'><span class='restore'> 分别用于关闭、最大化和还原弹窗。
  2. CSS 样式
    • 为弹窗容器设置 position: fixed,使弹窗固定在页面上,并设置 z-index 以确保弹窗位于页面最上层。
    • 为弹窗内容区域设置背景颜色、边框、宽度、高度等样式。
    • 为按钮设置样式,例如颜色、大小、图标等。
  3. JavaScript 代码
    • 使用 openModal() 函数将弹窗显示出来。
    • 使用 closeModal() 函数将弹窗隐藏。
    • 使用 maximizeModal() 函数将弹窗最大化,记录之前的大小,并设置宽度和高度为 100%
    • 使用 restoreModal() 函数将弹窗还原到之前的大小。
    • 使用 window.onclick 事件监听点击事件,如果点击的是弹窗以外的区域,则关闭弹窗。

注意

  • 该示例只是一个简单的实现,可能需要根据具体需求进行调整和扩展。
  • 可以添加更多功能,例如拖拽、动画等。
  • 可以使用 CSS 库或 JavaScript 库简化代码开发。

希望以上内容能够帮助您理解如何使用 HTML 和 JavaScript 创建一个简单的可缩放、最大化、还原和关闭的弹窗。

HTML 弹窗:点击文字弹出可缩放、最大化、还原和关闭的弹窗

原文地址: https://www.cveoy.top/t/topic/jmq6 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录