JavaScript 背景色的淡出过渡效果不起作用

JavaScript 背景色的淡出过渡效果不起作用

问题描述

我有一个按钮,当点击它时页面会滚动到特定的div,并且将其高亮显示为黄色,但我无法让其以淡出的方式消失,而不仅仅是直接消失。以下是我的代码:

function Go_to_file_creator() {
  var divElement = document.getElementsByClassName('form')[0];
  divElement.scrollIntoView();
  divElement.classList.add('highlighted');

  setTimeout(function() {
    divElement.classList.remove('highlighted');
  }, 1000);
}
#toFileCreator {
  margin-right: 90vw;
  z-index: 999;
  margin-bottom: 20px;
  margin-left: 20px;
}

.highlighted {
  background-color: yellow;
  transition: background-color 1s;
}
<button onclick="Go_to_file_creator()" id="toFileCreator">
  <h1>File creator</h1>
</button>

解决方案

要使您的代码实现 淡入淡出 ,您需要有一个前向和逆向的过渡。原始代码只有一个前向过渡。因此,当您移除类时,背景颜色 的变化是瞬时的。

在您的CSS中添加以下行:

.form {
  transition: background-color 3s;
}

运行代码片段以了解其工作原理。

代码片段

function Go_to_file_creator() {
  var divElement = document.getElementsByClassName('form')[0];
  divElement.scrollIntoView();
  divElement.classList.add('highlighted');

  setTimeout(function() {
    divElement.classList.remove('highlighted');
  }, 1000);
}
#toFileCreator {
  margin-right: 90vw;
  z-index: 999;
  margin-bottom: 20px;
  margin-left: 20px;
}

.form {
  transition: background-color 3s;
}

.form.highlighted {
  background-color: yellow;
  transition: background-color 1s;
}
<div class="form">
  <button onclick="Go_to_file_creator()" id="toFileCreator">
    <h1>File creator</h1>
  </button>
</div>

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程