JS实现响应鼠标点击动画渐变弹出层效果代码

yizhihongxing

这里为您详细讲解JS实现响应鼠标点击动画渐变弹出层效果的攻略。

实现思路

实现该效果的基本思路是通过 JavaScript 来控制 CSS 样式的变化,从而达到动画渐变弹出层的效果。

具体实现步骤如下:
1. 创建一个静态 HTML 页面,包含需要点击的按钮和弹出层。
2. 利用 CSS 设置弹出层的初始样式和动画样式。
3. 使用 JavaScript 监听按钮的点击事件,点击时动态修改弹出层样式,展示弹出层。

代码实现

下面为大家提供两份示例代码,其中一个基础版,另一个则是加强版。

基础版代码

HTML

<div class="modal-btn">点击弹出层</div>

<div class="modal-wrapper" id="modalWrapper">
  <div class="modal-inner">
      <p>这是一个弹出层。</p>
      <button class="modal-close">关闭</button>
  </div>
</div>

CSS

.modal-wrapper {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  background-color: rgba(0,0,0,0.5);
  z-index: 9999;
}

.modal-inner {
  height: 200px;
  width: 400px;
  background-color: #fff;
  margin: auto;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  text-align: center;
  padding: 20px;
  border-radius: 5px;
  box-shadow: 0 0 20px rgba(0,0,0,0.3);
  opacity: 0;
  transition: all 0.6s ease-out;
}

.modal-inner.show {
  opacity: 1;
  transform: translate(-50%, -50%) scale(1);
}

.modal-close {
  margin-top: 20px;
}

.modal-btn {
  margin: 50px;
  padding: 20px 40px;
  background-color: #fff;
  color: #222;
  cursor: pointer;
  border-radius: 5px;
  box-shadow: 0 0 20px rgba(0,0,0,0.1);
}

JavaScript

let modalWrapper = document.querySelector('#modalWrapper');
let modalBtn = document.querySelector('.modal-btn');
let modalClose = document.querySelector('.modal-close');

modalBtn.addEventListener('click', function() {
  modalWrapper.style.display = 'block';
  setTimeout(function() {
    modalWrapper.querySelector('.modal-inner').classList.add('show');
  }, 10);
});

modalClose.addEventListener('click', function() {
  modalWrapper.querySelector('.modal-inner').classList.remove('show');
  setTimeout(function() {
    modalWrapper.style.display = 'none';
  }, 300);
});

代码实现原理:通过 onclick 事件执行函数来改变弹出层的样式,实现动画渐变。

加强版

HTML

<div class="modal-wrapper" id="modalWrapper">
  <div class="modal-inner">
    <button class="modal-close">x</button>
    <p>这是一个弹出层。</p>
  </div>
</div>

<button class="btn-primary">点击弹出层</button>

CSS

.modal-wrapper {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: rgba(0, 0, 0, 0.8);
  visibility: hidden;
  opacity: 0;
  z-index: 9999;
  transition: opacity 0.5s ease;
}

.modal-wrapper:before {
  content: "";
  display: inline-block;
  height: 100%;
  vertical-align: middle;
  margin-right: -0.25em;
}

.modal-inner {
  position: relative;
  display: inline-block;
  vertical-align: middle;
  width: 500px;
  max-width: 100%;
  padding: 50px;
  text-align: center;
  background: #fff;
  border-radius: 4px;
  box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
  opacity: 0;
  transition: opacity 0.3s ease-in-out, transform 0.3s ease-in-out;
  transform: translateY(50px);
}

.modal-wrapper:target {
  visibility: visible;
  opacity: 1;
}

.modal-wrapper:target .modal-inner {
  opacity: 1;
  transform: translateY(0px);
}

.modal-wrapper:target .modal-close {
  display: block;
}

.modal-close {
  display: none;
  position: absolute;
  top: 1rem;
  right: 1rem;
  font-size: 2rem;
  font-weight: bold;
  text-decoration: none;
  color: #222;
}

.btn-primary {
  display: block;
  margin: 50px auto;
  padding: 10px 30px;
  border-radius: 4px;
  background-color: #007bff;
  border: solid 1px #007bff;
  color: #fff;
  font-size: 18px;
  font-weight: bold;
  transition: background-color 0.3s ease-out;
}

.btn-primary:hover {
  background-color: #0062cc;
}

JavaScript

此处没有 JavaScript。

代码实现原理:通过 CSS 实现了目标选择器用于控制动画效果。

总结

JS实现响应鼠标点击动画渐变弹出层效果的代码基本思路就是通过 JavaScript 控制 CSS 样式的变化,同时代码编写时,需要设置弹出层的初始和动画样式,并使用 onclick 事件处理函数。当然,想要更加完美的实现效果,还可以使用更高级的CSS技巧,通过CSS目标选择器来实现,效果将更加酷炫。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:JS实现响应鼠标点击动画渐变弹出层效果代码 - Python技术站

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

相关文章

  • js replace(a,b)之替换字符串中所有指定字符的方法

    关于 JavaScript 中字符串替换方法 replace(a, b) 的使用,我来给你详细讲解一下。 基本语法 replace() 方法用于替换字符串中的指定值。该方法可以接收两个参数: 要替换的字符串 替换后的字符串 语法如下: string.replace(searchValue, replaceValue) 其中,searchValue 是要替换的…

    JavaScript 2023年5月28日
    00
  • JS实现密码框效果

    JS实现密码框效果的攻略如下: 1. HTML结构 密码框是一个input标签,需要添加type为password的属性,如下: <input type="password" id="password-input"> 2. JS处理 2.1 获取输入框 首先需要获取到输入框的DOM元素,这里我们使用docu…

    JavaScript 2023年6月10日
    00
  • Emberjs 通过 axios 下载文件的方法

    以下是详细讲解“Emberjs 通过 axios 下载文件的方法”的完整攻略。 什么是 Ember.js? Ember.js 是一款基于 JavaScript 编写的开源前端框架,它采用了 MVVM(Model-View-ViewModel) 模式,可以帮助我们开发具有高可维护性、高可扩展性的单页 Web 应用。 什么是 axios? axios 是一个基于…

    JavaScript 2023年5月27日
    00
  • JavaScript学习历程和心得小结

    JavaScript学习历程和心得小结 学习历程 我在学习JavaScript的过程中,主要通过以下三个步骤逐渐掌握了这门编程语言: 理解基本语法和概念 在学习JavaScript的初期,我通过阅读《JavaScript高级程序设计》等书籍,对JavaScript的基本语法和概念进行了学习。这些内容包括变量、数据类型、运算符、流程控制语句、函数等基础知识。 …

    JavaScript 2023年5月18日
    00
  • 基于代数方程库Algebra.js解二元一次方程功能示例

    基于代数方程库Algebra.js解二元一次方程功能示例 本文将介绍如何使用基于代数方程库Algebra.js解二元一次方程,并提供两个示例来说明使用该库的方法。 什么是代数方程库Algebra.js 代数方程库Algebra.js是一个用于数学符号计算和表达的JavaScript库。它提供了一个简单的接口,可以让你在JavaScript中表示和操作多项式、…

    JavaScript 2023年5月28日
    00
  • javascript中的location用法简单介绍

    当浏览器加载一张网页时,它会解析代码和标记,然后将结果显示在用户的浏览器窗口中。window.location 对象提供了当前文档的有关信息,包括它的URL和一些方法可以用来向这个URL位置进行解读和导航。 URL属性 window.location 对象最有用的属性可能是 href。它是一个字符串,表示当前文档的URL的完整路径。如果你想获取当前文档的UR…

    JavaScript 2023年6月11日
    00
  • 手机端实现Bootstrap简单图片轮播效果

    针对“手机端实现Bootstrap简单图片轮播效果”的攻略,以下是完整的步骤说明: 一、引入Bootstrap库 在实现轮播效果之前,需要引入Bootstrap的库文件,这里以CDN引入的方式为例,将以下代码添加至HTML头部: <link rel="stylesheet" href="https://cdn.bootcd…

    JavaScript 2023年6月1日
    00
  • Javascript中获取对象的原型对象的方法小结

    获取对象的原型对象是JavaScript中常见的操作,下面介绍一些获取对象的原型对象的方法。 方法一:使用Object.getPrototypeOf Object.getPrototypeOf() 方法返回指定对象的原型(内部[[Prototype]]属性的值)。 示例代码: const obj = {}; const proto = Object.getP…

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