jQuery DIV弹出效果实现代码

当需要在页面中展示一些提示信息、弹出层等时,我们可以通过jQuery的DIV弹出效果来实现。下面是实现该效果的完整攻略:

1. 准备工作

在进行代码编写前,我们需要先引入jQuery库和样式文件,同时也要写好弹出层的HTML代码。

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>jQuery DIV弹出效果实现</title>
    <script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
    <style>
        body {
            font-family: Arial, sans-serif;
        }
        .mask {
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background-color: rgba(0, 0, 0, 0.5);
            z-index: 9999;
            display: none;
        }
        .popup {
            z-index: 10000;
            position: absolute;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
            background-color: #fff;
            border: 1px solid #ccc;
            padding: 20px;
            box-shadow: 0 0 10px rgba(0, 0, 0, 0.3);
        }
    </style>
</head>
<body>
    <button id="show-popup">弹出层</button>
    <div class="mask"></div>
    <div class="popup" style="display:none;">
        <h2>标题</h2>
        <p>内容</p>
        <button id="close-popup">关闭</button>
    </div>
</body>
</html>

代码中,mask为遮罩层,popup为弹出层,这里采用了绝对定位来使其居中显示。

2. 弹出层效果实现

首先,我们需要定义一个函数来实现弹出层的显示效果。

function showPopup() {
    $('.mask').fadeIn();
    $('.popup').fadeIn();
}

上面的函数中,我们通过fadeIn()方法实现了弹出层的淡入效果。

接下来,在按钮点击事件中调用该函数即可。

$(document).ready(function(){
    $('#show-popup').click(function() {
        showPopup();
    });
});

这里我们使用了jQuery的$(document).ready()方法来保证页面加载完成后再执行弹出层的事件绑定。

3. 关闭弹出层

我们还需定义一个函数来实现关闭弹出层的效果:

function closePopup() {
    $('.mask').fadeOut();
    $('.popup').fadeOut();
}

上面的函数中,我们通过fadeOut()方法实现了弹出层的淡出效果。

接下来,在关闭按钮的点击事件中调用该函数即可。

$(document).ready(function(){
    $('#close-popup').click(function() {
        closePopup();
    });
});

这里注意,关闭按钮的id需要与上面的HTML中定义的id一致。

4. 完整代码

将上述代码组合起来,得到如下完整的代码:

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>jQuery DIV弹出效果实现</title>
    <script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
    <style>
        body {
            font-family: Arial, sans-serif;
        }
        .mask {
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background-color: rgba(0, 0, 0, 0.5);
            z-index: 9999;
            display: none;
        }
        .popup {
            z-index: 10000;
            position: absolute;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
            background-color: #fff;
            border: 1px solid #ccc;
            padding: 20px;
            box-shadow: 0 0 10px rgba(0, 0, 0, 0.3);
        }
    </style>
</head>
<body>
    <button id="show-popup">弹出层</button>
    <div class="mask"></div>
    <div class="popup" style="display:none;">
        <h2>标题</h2>
        <p>内容</p>
        <button id="close-popup">关闭</button>
    </div>
    <script>
        function showPopup() {
            $('.mask').fadeIn();
            $('.popup').fadeIn();
        }

        function closePopup() {
            $('.mask').fadeOut();
            $('.popup').fadeOut();
        }

        $(document).ready(function(){
            $('#show-popup').click(function() {
                showPopup();
            });

            $('#close-popup').click(function() {
                closePopup();
            });
        });
    </script>
</body>
</html>

5. 示例

为了更好的说明DIV弹出效果实现,在这里我们补充两个简单的拓展例子。

  1. 点击其他部分关闭弹出层

当用户在空白区域点击时,我们也希望能够关闭弹出层。这时,我们需要在弹出层的外部再加上一层容器。

修改HTML代码如下:

<div class="outer">
    <button id="show-popup">弹出层</button>
    <div class="mask"></div>
    <div class="popup" style="display:none;">
        <h2>标题</h2>
        <p>内容</p>
        <button id="close-popup">关闭</button>
    </div>
</div>

然后,我们需要修改Javascript代码如下:

$(document).ready(function(){
    $('#show-popup').click(function() {
        showPopup();
    });

    $('#close-popup').click(function() {
        closePopup();
    });

    $('.outer').click(function(e) {
        if (!$(e.target).closest('.popup').length) {
            closePopup();
        }
    });
});

这里我们添加了一个点击事件在outer上,然后在事件处理函数中判断点击区域是否为popup,如果不是就关闭弹出层。

  1. 阻止弹出层内容冒泡

当弹出层中有一些事件需要阻止冒泡时,我们可以使用如下代码来实现:

$(document).ready(function(){
    $('#show-popup').click(function() {
        showPopup();
    });

    $('#close-popup').click(function() {
        closePopup();
    });

    $('.popup').click(function(e) {
        e.stopPropagation();
    });
});

这里我们添加了一个点击事件在popup上,然后使用e.stopPropagation()方法来阻止冒泡。这样当点击弹出层内容时,就不会触发外层元素的点击事件了。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:jQuery DIV弹出效果实现代码 - Python技术站

(0)
上一篇 2023年6月10日
下一篇 2023年6月10日

相关文章

  • 详解AngularJS实现表单验证

    AngularJS 是一个强大的JavaScript框架,被广泛用于构建 Web 应用程序,其中表单验证是重要功能之一。以下是实现表单验证的详细步骤: 步骤一:引入AngularJS 首先,在 HTML 中引入 AngularJS 库(CDN 方式或下载导入),这可以通过以下代码实现: <script src="https://cdnjs.c…

    css 2023年6月10日
    00
  • jquery animate实现鼠标放上去显示离开隐藏效果

    要实现“jquery animate实现鼠标放上去显示离开隐藏效果”的效果,我们可以按照以下步骤进行: 第一步:编写HTML结构 首先,我们需要编写一个HTML结构,例如: <div class="box"> <img src="image.jpg"> <div class="o…

    css 2023年6月10日
    00
  • 原JS实现banner图的常用功能

    下面我将详细讲解原JS实现banner图的常用功能的完整攻略。 1. 常用功能介绍 在实现banner图过程中,以下是一些常用的功能: 1.1 图片轮播 图片轮播是banner图的核心功能,它可以通过设置图片列表和定时器来实现。轮播过程可以采用两种方式:水平轮播和垂直轮播。图片轮播一般会包含以下功能: 自动轮播:按照一定时间间隔自动切换图片 手动切换:用户可…

    css 2023年6月10日
    00
  • css样式加载顺序及覆盖顺序深入理解

    让我们来深入理解CSS样式加载顺序及覆盖顺序。 CSS样式加载顺序 在了解CSS样式加载顺序之前,需要知道的是,浏览器渲染页面时采用了一种“流”的工作模式,即从上到下加载解析页面的各种元素。当浏览器解析到CSS样式时,会按照一个特定的顺序加载这些样式,具体如下: 浏览器默认样式:浏览器会首先加载自己的默认样式,这类样式在所有CSS样式中权重最低。 用户样式表…

    css 2023年6月9日
    00
  • JS轻松实现CSS设置,DIV+CSS常用CSS设置

    JS轻松实现CSS设置 为了实现JS轻松设置CSS,需要了解以下知识点: 1.获取元素:使用document.getElementById()方法获取需要操作的元素。 2.修改属性:通过修改获取到的元素的属性来实现CSS设置。 代码示例: <div id="example" style="color: red;"…

    css 2023年6月9日
    00
  • 详解CSS中的选择器优先级及样式层叠问题解决

    详解CSS中的选择器优先级及样式层叠问题解决 什么是选择器优先级 在CSS中,通过选择器来选择元素并对其应用样式。但是,当存在多个选择器作用于同一个元素时,就会涉及到选择器的优先级问题。选择器优先级指的是在多个选择器作用于同一元素时,浏览器根据不同选择器的权重来决定哪个样式最后会被应用。 通常,一个规则的选择器包含多个简单选择器,权值的计算方法如下: 按照 …

    css 2023年6月9日
    00
  • 详解css position 5种不同的值的用法

    详解CSS Position 5种不同的值的用法 在CSS中,position属性用于指定一个元素在文档中的定位方式。这个属性可以取5个值,包括: static relative absolute fixed sticky 接下来,我们将逐个介绍这5种值的用法。 1. static static是position属性的默认值,表示元素在文档中的位置使用正常的…

    css 2023年6月9日
    00
  • box-shadow单边阴影的实现

    Box-shadow 可以在多种情况下为元素添加阴影效果,包括单边阴影。单边阴影可以为元素添加美观的高亮或深度感。 下面是实现单边阴影的完整攻略: 使用 box-shadow 和 inset 属性 在元素上添加 box-shadow 属性,并使用 inset 属性,可以创建单边阴影。inset 属性指定阴影显示在元素内部,而不是在元素周围。 .shadow …

    css 2023年6月10日
    00
合作推广
合作推广
分享本页
返回顶部