JS控制弹出悬浮窗口(一览画面)的实例代码

这里给您详细讲解一下 JS 控制弹出悬浮窗口的实例代码的攻略。下面是具体步骤:

1. 给HTML添加悬浮窗口基本元素

首先,在 HTML 文档中添加弹出悬浮窗口的基本元素,包括触发弹出的按钮和整个弹出窗口的框架结构。代码示例如下:

<button id="open-popup">点击打开弹出窗口</button>
<div id="popup-container">
  <div id="popup">
    <h2>这是弹出窗口的标题</h2>
    <p>这里是弹出窗口的内容。</p>
    <button id="close-popup">关闭</button>
  </div>
</div>

2. 添加CSS样式

为了美化弹出窗口并实现隐藏功能,需要添加一些CSS样式。具体代码如下:

#popup-container {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(0,0,0,0.5);
  display: none;
}

#popup {
  position: absolute;
  top: 20%;
  left: 20%;
  width: 60%;
  height: 60%;
  background-color: white;
  padding: 20px;
  border-radius: 10px;
  box-shadow: 0px 0px 20px rgba(0,0,0,0.5);
}

#popup h2 {
  margin-top: 0;
}

#close-popup {
  position: absolute;
  top: 10px;
  right: 10px;
}

3. 使用JavaScript控制悬浮窗口的显示和隐藏

接下来,需要使用JavaScript来控制弹出窗口的显示和隐藏。具体代码如下:

// 获取弹出窗口元素和关闭按钮元素
var popupContainer = document.getElementById('popup-container');
var popup = document.getElementById('popup');
var closePopup = document.getElementById('close-popup');

// 点击按钮打开弹出窗口
document.getElementById('open-popup').addEventListener('click', function() {
  popupContainer.style.display = 'block';
});

// 点击关闭按钮关闭弹出窗口
closePopup.addEventListener('click', function() {
  popupContainer.style.display = 'none';
});

// 点击背景关闭弹出窗口
popupContainer.addEventListener('click', function(e) {
  if (e.target === this) {
    popupContainer.style.display = 'none';
  }
});

以上就是JS控制弹出悬浮窗口的实例代码的完整攻略。

下面还给您两个示例说明:

1. 当鼠标放置在按钮上时弹出悬浮窗口

需求:当鼠标放置在按钮上时弹出悬浮窗口。

解决办法:将“打开弹出窗口”的触发事件修改为“鼠标移入”事件。代码如下:

var popupContainer = document.getElementById('popup-container');

document.getElementById('open-popup').addEventListener('mouseover', function() {
  popupContainer.style.display = 'block';
});

// 点击关闭按钮关闭弹出窗口
document.getElementById('close-popup').addEventListener('click', function() {
  popupContainer.style.display = 'none';
});

// 点击背景关闭弹出窗口
popupContainer.addEventListener('click', function(e) {
  if (e.target === this) {
    popupContainer.style.display = 'none';
  }
});

2. 点击其他区域关闭悬浮窗口

需求:点击页面的其他区域时关闭弹出窗口。

解决办法:在弹出窗口的背景层上绑定点击事件,如果鼠标点击的是背景层本身,则关闭弹出窗口。代码如下:

var popupContainer = document.getElementById('popup-container');

document.getElementById('open-popup').addEventListener('click', function() {
  popupContainer.style.display = 'block';
});

// 点击关闭按钮关闭弹出窗口
document.getElementById('close-popup').addEventListener('click', function() {
  popupContainer.style.display = 'none';
});

// 点击背景关闭弹出窗口
popupContainer.addEventListener('click', function(e) {
  if (e.target === this) {
    popupContainer.style.display = 'none';
  }
});

// 点击页面其他区域也要关闭弹出窗口
document.addEventListener('click', function(e) {
  if (!document.getElementById('popup-container').contains(e.target) && e.target !== document.getElementById('open-popup')) {
    document.getElementById('popup-container').style.display = 'none';
  }
});

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:JS控制弹出悬浮窗口(一览画面)的实例代码 - Python技术站

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

相关文章

  • 教你如何在pycharm中使用less

    下面是详细讲解如何在PyCharm中使用Less: 准备工作 在使用PyCharm中使用Less之前,需要进行以下准备工作: 安装Less插件:在PyCharm的插件市场中搜索并安装Less插件,或者进入PyCharm设置 Settings > Plugins > Marketplace 中搜索安装。 配置文件编译:在PyCharm的设置中,配置…

    css 2023年6月10日
    00
  • 深入理解浏览器的各种刷新规则

    深入理解浏览器的各种刷新规则 作为Web开发者,深入理解当下主流浏览器的刷新规则以及刷新机制可以令我们更好地开发出高效、流畅、友好的Web应用。本篇攻略将详细讲解浏览器的各种刷新规则,内容包括: 浏览器渲染过程 刷新、重绘和合成 DOM树的修改和重排 重排和重绘的性能问题 本篇攻略默认读者已经熟悉HTML、CSS和JavaScript的基础知识。读者们可以选…

    css 2023年6月10日
    00
  • CSS教程:元素层叠级别及z-index

    针对“CSS教程:元素层叠级别及z-index”的完整攻略,我分别从以下几个方面来进行详细讲解: 元素层叠级别的概念和作用 使用z-index设置元素层叠级别的方法 示例说明1:z-index的使用场景和实现方法 示例说明2:z-index实现多层嵌套的层叠效果 1. 元素层叠级别的概念和作用 在浏览器中,当有多个元素重叠在一起时,我们需要指定哪些元素展示在…

    css 2023年6月10日
    00
  • css3之UI元素状态伪类选择器实例演示

    对于“css3之UI元素状态伪类选择器实例演示”的完整攻略,以下是具体的讲解过程: 1. 什么是UI元素状态伪类选择器 UI元素状态伪类选择器是CSS3中的新特性,主要应用于某些用户操作改变了元素的状态时进行样式的改变。比如我们熟悉的a标签的伪类:hover就是常见的UI元素状态伪类选择器之一。 UI元素状态伪类选择器,以:为前缀,构成如下形式: selec…

    css 2023年6月9日
    00
  • IE8/9 使用text-overflow: ellipsis 做块元素超长内容变省略号的问题

    当某个块元素的内容过长时,为了保证页面的美观度,有时需要将超出部分省略显示为省略号(…)。而在IE8/9浏览器中,使用 text-overflow: ellipsis 作为实现超出内容显示省略号的方式会出现问题,以下是解决方案的攻略。 步骤 1. 设置块元素的样式 首先,需要给块元素设置 text-overflow: ellipsis,以实现内容超出限制…

    css 2023年6月9日
    00
  • Bootstrap插件全集

    Bootstrap插件全集攻略 Bootstrap是一款流行的前端框架,它提供了众多的组件和工具,其中包含了一系列的插件。Bootstrap插件全集主要是指将Bootstrap的所有插件进行了整合,方便开发者进行使用和管理。下面将详细介绍如何使用Bootstrap插件全集来提高开发效率。 安装Bootstrap插件全集 要使用Bootstrap插件全集,首先…

    css 2023年6月9日
    00
  • 手机端转盘抽奖代码分享

    那我来给你讲解一下“手机端转盘抽奖代码分享”的完整攻略。 一、基本思路 在这个项目中,我们需要实现以下几个步骤: 构建转盘:使用HTML5的canvas标签绘制转盘。 获取奖品数据:从后端获取奖品信息。 投掷转盘:点击抽奖按钮,开始转盘抽奖。 模拟旋转:通过JavaScript代码模拟转盘的旋转过程。 显示获奖结果:当转盘停止旋转时,显示获奖结果。 下面分别…

    css 2023年6月11日
    00
  • vue实现滚动条到顶部或者到指定位置

    要实现滚动条到顶部或者到指定位置,可以使用Vue.js提供的ref属性和$refs对象来操作DOM元素,通过监听事件来获取元素滚动位置,从而控制元素的滚动。 以下是实现滚动条到顶部的示例: 将滚动条滚动到顶部 在template中添加一个容器元素和一个点击按钮 <template> <div> <div ref="sc…

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