jQuery点击按钮弹出遮罩层且内容居中特效

关于“jQuery点击按钮弹出遮罩层且内容居中特效”的攻略,我将从以下几个方面进行详细讲解:

  1. 引入jQuery和CSS文件
  2. 创建HTML结构
  3. 编写CSS样式
  4. 编写jQuery代码

下面我将一步步详细展开说明。

1. 引入jQuery和CSS文件

首先,我们需要在HTML页面中引入jQuery库和CSS样式文件,CSS文件包含了遮罩层和弹窗的样式定义,代码如下:

<!-- 引入jQuery库 -->
<script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.6.0/jquery.min.js"></script>

<!-- 引入CSS样式文件 -->
<link rel="stylesheet" href="style.css">

2. 创建HTML结构

接下来,我们需要在HTML页面中创建遮罩层和弹窗的HTML结构,如下所示:

<!-- 遮罩层 -->
<div class="overlay"></div>

<!-- 弹窗 -->
<div class="modal">
  <div class="modal-content">
    <h2>这是一个弹窗标题</h2>
    <p>这是弹窗的内容,可以换行,可以写很多字</p>
    <button class="close-btn">关闭</button>
  </div>
</div>

<!-- 按钮 -->
<button class="btn-open">点击弹窗</button>

其中,遮罩层和弹窗的HTML代码使用了div元素,并且设置了class属性方便后面的CSS样式的设置,按钮使用了button元素,同样设置了class属性。

3. 编写CSS样式

接下来,我们需要为遮罩层和弹窗编写CSS样式,使其显示出来并居中显示在页面上,如下所示:

/* 遮罩层样式 */
.overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0,0,0,0.5);
  z-index: 9999;
  display: none;
}

/* 弹窗样式 */
.modal {
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background-color: #fff;
  width: 400px;
  height: auto;
  z-index: 10000;
  display: none;
}

/* 弹窗内容样式 */
.modal-content {
  padding: 20px;
  text-align: center;
}

/* 关闭按钮样式 */
.close-btn {
  display: block;
  margin: 20px auto 0;
  padding: 10px 20px;
  background-color: #ccc;
  border: none;
  cursor: pointer;
}

在这段CSS代码中,我们为遮罩层设置了定位、大小、背景颜色、层级以及display:none属性,初始状态下遮罩层是隐藏的;对于弹窗的CSS样式,我们设置了定位、大小、背景颜色以及层级等属性,并使用了transform属性将其居中显示;最后,我们为弹窗中的关闭按钮设置了样式。

4. 编写jQuery代码

最后,我们需要为按钮添加点击事件,使其可以弹出弹窗,并且点击遮罩层后弹窗可以关闭。具体实现代码如下:

// 点击按钮弹出遮罩层和弹窗
$(".btn-open").click(function() {
  $(".overlay").fadeIn();
  $(".modal").fadeIn();
});

// 点击遮罩层关闭弹窗
$(".overlay").click(function() {
  $(".overlay").fadeOut();
  $(".modal").fadeOut();
});

// 点击关闭按钮关闭弹窗
$(".close-btn").click(function() {
  $(".overlay").fadeOut();
  $(".modal").fadeOut();
});

在这段jQuery代码中,我们为按钮、遮罩层和关闭按钮分别添加了点击事件,当按钮被点击后,遮罩层和弹窗均会切换为显示状态;而当遮罩层或关闭按钮被点击后,遮罩层和弹窗均会切换为隐藏状态。

为了让这个弹窗可以更加生动形象,我制作了两个demo,分别演示了当弹窗中的图片过大时居中和当弹窗中的内容过多时弹窗的滚动条处理,具体可以查看这个链接这个链接

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:jQuery点击按钮弹出遮罩层且内容居中特效 - Python技术站

(0)
上一篇 2023年5月27日
下一篇 2023年5月27日

相关文章

  • jQWidgets jqxRibbon模式属性

    jQWidgets是一个基于JavaScript的UI组件库,其中jqxRibbon是其提供的一款标签式菜单工具栏控件。jqxRibbon具有丰富的属性,其中包括模式属性。下面将详细讲解jqxRibbon模式属性的使用和示例。 jqxRibbon模式属性 jqxRibbon的模式属性(mode)控制其菜单项的显示方式,包括三种模式:default,popup…

    jquery 2023年5月11日
    00
  • jQWidgets jqxScrollView showButtons属性

    以下是关于 jQWidgets jqxScrollView 组件中 showButtons 属性的详细攻略。 jQWidgets jqxScrollView showButtons 属性 jQWidgets jqxScrollView 组件的 showButtons 属性用于设置是否显示滚动视图的按钮。 语法 // 获取 showButtons 属性值 sh…

    jquery 2023年5月12日
    00
  • jQuery中使用data()方法读取HTML5自定义属性data-*实例

    当我们需要为某个元素添加一些自定义的属性时,可以使用HTML5中提供的”data-“属性。而在使用jQuery操作这些属性时,可以使用data()方法。下面将详细讲解jQuery中使用data()方法读取HTML5自定义属性”data-“的完整攻略: 1. 添加”data-“自定义属性 可以使用如下方式为某个元素添加自定义属性: <div id=&qu…

    jquery 2023年5月28日
    00
  • 详解webpack 多页面/入口支持&公共组件单独打包

    为了更好地解释“详解webpack 多页面/入口支持&公共组件单独打包”,我们需要先明确以下几个概念: 多页面/入口:指的是一个项目中有多个页面或者多个入口文件。 公共组件:指的是所有页面(或者入口文件)都使用的组件,比如页头、页脚等。 这篇攻略的主要目的是通过Webpack对多页面/入口和公共组件进行打包,从而提高项目的性能和效率。 实现步骤 下面…

    jquery 2023年5月27日
    00
  • 深入理解jQuery之事件移除

    当我们在开发界面的时候,经常需要添加事件监听器来响应用户的操作,比如按钮点击,键盘输入等等。然而,当我们需要删除这些事件监听器的时候,我们需要使用jQuery的事件移除方法。 什么是事件移除? 在jQuery中,事件是通过.on()方法进行绑定的,常用的包括.click(),.mousedown()等等。但是,当我们需要删除事件监听器时,就需要使用.off(…

    jquery 2023年5月29日
    00
  • jQWidgets jqxTreeGrid unlockRow()方法

    以下是关于 jQWidgets jqxTreeGrid 组件中 unlockRow() 方法的详细攻略。 jQWidgets jqxTreeGrid unlockRow() 方法 jQWidgets jqxTreeGrid 的 unlockRow() 方法用于解锁行,以便您可以编辑行的单元格。您可以使用此方法来解锁行,以便在需要时编辑行单元格。 语法 $(‘…

    jquery 2023年5月12日
    00
  • jQWidgets jqxListMenu showNavigationArrows属性

    jQWidgets jqxListMenu showNavigationArrows属性详解 jQWidgets是一个基于jQuery的UI组件库,提供了丰富UI组件工具包。jqListMenu是组件之一。本文将详细介绍jqxListMenu的showNavigationArrows属性,包括用法、语法和示例。 showNavigationArrows属性的…

    jquery 2023年5月10日
    00
  • jQuery off()方法

    jQuery off()方法用于移除通过on()方法绑定的事件处理程序。可以使用off()方法移除单个事件处理程序,也可以移除所有事件处理程序。 以下是off()的详细攻略: 语法 $(selector).off(event, function) 参数 selector:必需,用于选择要移除事件处理程序的元素。 event:可选,用于指定要移除的事件类型。 …

    jquery 2023年5月9日
    00
合作推广
合作推广
分享本页
返回顶部