原生js实现弹窗消息动画

下面是“原生js实现弹窗消息动画”的完整攻略:

简介

弹窗消息动画是网页中常见的提示形式,它通过出现和消失的动画效果,吸引用户的注意力,提示用户当前的操作状态或者重要的信息。在本文中,我们将介绍如何使用原生JS实现弹窗消息动画。

需要的技术栈

  • HTML
  • CSS
  • JavaScript

实现步骤

  1. 创建HTML结构

首先,我们需要在HTML中创建弹窗消息的结构。这里我们使用div元素作为弹窗消息的外层容器,然后在其中放置需要展示的信息。需要注意的是,我们需要通过CSS设置弹窗消息的初始样式,包括宽度、高度、背景色、边框等等。

<div class="notification">
  <p>这是一条弹窗消息</p>
</div>
  1. 设置CSS样式

接下来,我们需要设置弹窗消息的CSS样式。其中,我们可以设置外层容器的初始样式,以及展示和隐藏时的过渡效果。

.notification {
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 300px;
  height: 100px;
  border: 1px solid #333;
  background-color: #fff;
  opacity: 0;
  transition: all 0.5s ease-in-out;
}

.notification.show {
  opacity: 1;
}

.notification.hide {
  opacity: 0;
}

其中,我们使用了transition属性来添加过渡效果,展示和隐藏时的过渡时间分别设置为0.5秒,并且设置了ease-in-out的缓动函数。

  1. 编写JavaScript代码

最后,我们需要使用原生JS来实现弹窗消息的展示和隐藏动画。

function showMessage() {
  var notification = document.querySelector('.notification');
  notification.classList.add('show');

  setTimeout(function() {
    hideMessage();
  }, 3000);
}

function hideMessage() {
  var notification = document.querySelector('.notification');
  notification.classList.remove('show');
  notification.classList.add('hide');

  setTimeout(function() {
    notification.classList.remove('hide');
  }, 500);
}

在上面的代码中,我们定义了两个函数showMessage和hideMessage,分别用来展示和隐藏弹窗消息。在showMessage函数中,我们首先获取弹窗消息的元素,然后通过添加CSS的show类来实现动画展示。在展示完成后,我们使用setTimeout函数来延迟3秒钟,然后调用hideMessage函数来实现隐藏动画。

在hideMessage函数中,我们移除CSS的show类,并添加hide类来实现隐藏动画。等待动画完成后,再次移除hide类,以便下一次展示动画的准备。

使用事件监听绑定

除了通过函数调用,我们也可以通过事件监听来触发展示和隐藏动画,提高弹窗消息的可复用性。

var notification = document.querySelector('.notification');

notification.addEventListener('click', function() {
  showMessage();
});

document.addEventListener('keydown', function(event) {
  if (event.key === 'Escape') hideMessage(); 
});

在上面的代码中,我们首先获取弹窗消息的元素,并通过添加监听器来监听鼠标的点击事件或者键盘的按键事件。当用户点击弹窗消息时,展示动画会触发;当用户按下键盘上的Esc键时,隐藏动画会触发。

示例

这里提供两个对应上面示例代码的演示链接,分别演示了通过函数调用和事件监听绑定的方式展示和隐藏弹窗消息。

参考文献:https://developer.mozilla.org/zh-CN/docs/Web/JavaScript

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:原生js实现弹窗消息动画 - Python技术站

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

相关文章

  • VueCli3中兼容IE11配置的艰苦历程

    下面是详细的“VueCli3中兼容IE11配置的艰苦历程”的完整攻略: 第一步:安装依赖和设置babel 在项目根目录下,通过以下命令安装两个依赖: npm install babel-loader@8.0.0-beta.0 @babel/core @babel/preset-env webpack –save-dev 这里我们使用了babel-loade…

    JavaScript 2023年6月11日
    00
  • 关于js中window.location.href,location.href,parent.location.href,top.location.href的用法与区别

    关于JS中window.location.href,location.href,parent.location.href,top.location.href的用法与区别 在JavaScript中,有多种获取当前窗口URL地址的方法,其中最常见的有window.location.href、location.href、parent.location.href和t…

    JavaScript 2023年6月11日
    00
  • JS中判断某个字符串是否包含另一个字符串的五种方法

    下面我会给您详细讲解JS中判断某个字符串是否包含另一个字符串的五种方法,并提供相应代码示例进行说明。 方法一:使用indexOf indexOf函数在判断字符串包含的时候是最常用的方法之一,它返回的值为所查找的字符串首次出现的位置,如果没有找到则返回-1。 let str1 = "hello world"; let str2 = &quo…

    JavaScript 2023年5月28日
    00
  • JavaScript TypeScript实现贪吃蛇游戏完整详细流程

    JavaScript TypeScript实现贪吃蛇游戏完整详细流程 1. 前置技能 开发这个项目需要对以下技术点有所了解: HTML 和 CSS 基础知识 JavaScript 的语法和基本的编程能力 TypeScript 的基本语法和类型声明 Canvas 知识 2. 项目总体思路 本项目的核心代码部分是实现贪吃蛇在 Canvas 画布上的移动和碰撞检测…

    JavaScript 2023年5月27日
    00
  • 如何写出优雅的JS 代码

    关于如何写出优雅的JS代码,以下是一些攻略: 1. 编写具有可读性的代码 编写具有可读性的代码是编写优雅代码的第一步。可读性是代码的口号。最好的方式是编写简洁、清晰和易于理解的代码。以下是几个技巧来实现具有可读性的代码: 有意义的变量和函数名称; 水平缩进和统一使用制表符或空格; 使用大括号来显式地表示代码块; 适当注释代码的用途。 具有可读性的代码有以下的…

    JavaScript 2023年5月27日
    00
  • javascript实现文件拖拽事件

    下面是javascript实现文件拖拽事件的完整攻略: 1. 拖拽事件的基本概念 拖拽事件是指在网页中,用户可以通过鼠标拖拽文件或者文本等内容,实现移动、复制或者上传等操作。常见的拖拽事件有三种: dragstart:拖拽开始时触发。 dragover:当被拖拽的元素在目标元素上方移动时触发。 drop:当被拖拽的元素被放置到目标元素上时触发。 在拖拽事件中…

    JavaScript 2023年5月27日
    00
  • JS操作iframe里的dom(实例讲解)

    关于JS操作iframe里的dom,以下是完整攻略: 1. iframe简介 iframe是HTML中嵌入其他HTML页面的标签,即在当前页面内嵌入并展示另一个HTML页面。它可以是跨域的,也可以是同域的。在开发中,经常会用到iframe来展示一些独立的组件或页面。 2. JS操作iframe 在父页面内,我们可以通过JS来操作iframe内部的DOM元素。…

    JavaScript 2023年6月10日
    00
  • ASP.NET中使用GridView实现分级显示的代码

    ASP.NET中使用GridView实现分级显示可以通过绑定多个GridView控件来实现。以下是实现此功能的完整攻略: 步骤一:创建GridView控件 首先,在HTML中,创建一个表格并添加GridView控件。GridView控件将显示第一级数据。例如: <table> <tr><td> <asp:GridVi…

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