原生js实现弹窗消息动画

yizhihongxing

下面是“原生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日

相关文章

  • javascript 验证日期的函数

    我们来详细讲解一下如何利用 JavaScript 编写验证日期的函数。 函数基本结构 一个基本的 JavaScript 验证日期的函数应该具有以下结构: function validateDate(input){ // 对传入的参数 input 进行验证 // 如果符合日期格式,则返回 true,否则返回 false return true; // 或者 f…

    JavaScript 2023年5月27日
    00
  • javascript 24小时弹出一次的代码(利用cookies)

    针对“javascript 24小时弹出一次的代码(利用cookies)”这个问题,我可以给你讲解一下完整的攻略。 什么是Cookie? 在开始讲解代码前,我们先简要介绍一下Cookie。Cookie是指浏览器保存在用户电脑上的一小段文本信息,一般用来记录用户在访问网站时的一些信息,例如用户名、购物车中的商品等。 Cookie主要有以下属性: 名称:一个唯一…

    JavaScript 2023年6月11日
    00
  • uniapp和uniCloud开发中常出现的问题及解决汇总

    UniApp 和 UniCloud 开发中常见问题及解决汇总 UniApp 和 UniCloud 是目前移动端和云端开发中比较热门的技术之一。在实际开发中,我们可能会遇到一些问题,本文会根据实际开发经验,对一些常见问题进行总结,为大家提供便利。 问题一:UniApp 点击事件不生效 出现这个问题的原因可能是你没有在 App.vue 文件中设置 click 事…

    JavaScript 2023年6月10日
    00
  • 详解JSP 内置对象request常见用法

    详解JSP 内置对象request常见用法 1. request对象介绍 JSP内置对象request代表了一个HTTP请求,包含了客户端上所有的请求信息。当客户端发出请求,服务器就会创建一个request对象,并且request对象会一直存在于整个HTTP请求的生命周期中。request对象可以用来获取HTTP请求的参数,以及在服务器端保存和获取数据。 2…

    JavaScript 2023年6月11日
    00
  • JS编程小常识很有用

    JS编程小常识是指在JavaScript编程中,常用到的一些小技巧和注意事项。这些小常识可以帮助开发者以更高效、安全、健壮的方式编写JavaScript代码。下面是一个完整的攻略,包括示例说明 1. 变量声明 使用const和let来声明变量,而不是使用var。 使用const对于不会被重新赋值的变量,使用let对于可能被重新赋值的变量。 不要使用全局变量,…

    JavaScript 2023年6月10日
    00
  • 老生常谈JavaScript 函数表达式

    JavaScript 函数表达式是一种将函数作为值进行赋值或传递的方式。 函数表达式的语法 函数表达式的语法格式为:变量名 = function() {} 其中,变量名可以接受任何有效的 JavaScript 变量名。而函数表达式的主体内容则放在花括号中,可以包含任何有效的 JavaScript 语句和表达式。 下面是一个简单的例子: var func = …

    JavaScript 2023年6月11日
    00
  • JavaScript实现随机点名程序

    JavaScript实现随机点名程序的攻略 本篇攻略将介绍如何使用JavaScript编写一个随机点名程序。具体包括以下几个步骤: 准备必要的HTML和CSS代码 编写JavaScript代码 测试程序 准备必要的HTML和CSS代码 随机点名程序需要通过网页来实现。因此,我们可以在HTML中添加一个表单,让用户输入所有参与者的姓名,并添加一个按钮,用于随机…

    JavaScript 2023年5月28日
    00
  • 浅谈JavaScript中this的指向问题

    浅谈JavaScript中this的指向问题 在javascript中,this关键字的指向问题一直是比较困惑的一个问题,因为它的指向受到一定的影响。如果我们没有完全搞清楚this的指向规则,那么在使用this的时候可能会带来很多不方便和错误的情况。接下来让我们一起来浅谈一下javascript中this的指向问题。 this的指向规则 在javascrip…

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