jQuery DIV弹出效果实现代码

yizhihongxing

当需要在页面中展示一些提示信息、弹出层等时,我们可以通过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日

相关文章

  • 图解CSS中position属性的定位用法

    让我来详细讲解一下“图解CSS中position属性的定位用法”。 什么是position属性 在CSS中,position属性用于定义一个元素的定位方式。 position属性的取值有四种: static:默认值,表示元素正常的定位方式,即遵循文档流的方式进行排版; relative:相对定位,表示元素相对于自身原来的位置进行定位; absolute:绝对…

    css 2023年6月9日
    00
  • JS实现简单的todoList(记事本)效果

    下面我会给你讲解JS实现简单的todoList(记事本)效果的完整攻略。 1. 界面部分 首先,我们需要搭建好页面框架。可以使用HTML和CSS实现一个简单的布局,其中包括待办事项输入框、已完成事项展示区域、未完成事项展示区域等。 <body> <div id="app"> <h1>Todo List&…

    css 2023年6月10日
    00
  • css3加js做一个简单的3D行星运转效果实例代码

    下面是一个简单的 3D 行星运转效果的实例代码,使用了 CSS3 和 JavaScript。 HTML 结构 <div class="container"> <div class="planet"></div> </div> 上述代码中,我们创建了一个容器 div 元素,…

    css 2023年5月18日
    00
  • 利用JQuery制作符合Web标准的QQ弹出消息

    下面是我对于“利用JQuery制作符合Web标准的QQ弹出消息”的完整攻略。 准备工作 首先,在开始制作之前,我们需要调用JQuery框架,这是因为JQuery封装了很多常用的JavaScript函数,方便我们对于DOM进行操作,从而加速开发过程。在实现过程中,需要通过CDN来引入JQuery,代码如下: <script src="https…

    css 2023年6月10日
    00
  • css特效 一道闪光在图片上划过代码

    下面是该特效的完整攻略,并附带两条示例说明。 CSS特效:一道闪光在图片上划过 效果展示 HTML结构和CSS样式 首先,需要在HTML中创建一个具有背景图片的div元素,然后使用CSS样式来实现该特效。 HTML: <div class="container"></div> CSS: .container { b…

    css 2023年6月11日
    00
  • JS 仿腾讯发表微博的效果代码

    首先讲解一下JS仿腾讯发表微博的效果代码需要的知识点: 获取DOM元素及其属性值。使用document.getElementById()或document.querySelector()获取DOM元素,通过元素对象的value属性获取输入框的值,通过元素对象的innerHTML属性改变提示信息的内容。 利用按钮添加点击事件。通过给按钮元素对象绑定onclic…

    css 2023年6月10日
    00
  • input file自定义按钮美化(演示)

    自定义input type=”file”按钮的美化可以帮助提升用户在网站或应用中的体验,下面详细介绍一下具体实现过程。 步骤一:隐藏原生input请选择文件按钮 我们需要先将原生的input type=”file”按钮隐藏掉,但是保留它的点击事件,这样才能实现自定义按钮后可以正常选择本地文件。可以通过以下CSS代码来实现: input[type="…

    css 2023年6月10日
    00
  • css水平居中的各种方法总结(推荐)

    当我们需要将某个元素水平居中时,常常会遇到一些问题,比如不知道该使用哪种方式才能最简洁、易懂地实现,或者在不同场景下要使用不同的方法。下面我们将介绍几种常用的CSS水平居中的方法,以方便大家在实际开发中使用。 居中的基本原则 在介绍具体的居中方法之前,首先需要了解的是居中的基本原则。要水平居中一个元素,需要满足以下三个条件之一: 目标元素的宽度已知 目标元素…

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