css 如何使浮动文本在单击按钮后淡出?

gojuced7  于 2023-07-01  发布在  其他
关注(0)|答案(1)|浏览(94)

我尝试使用这些代码来制作浮动文本动画。

const button = document.querySelector('.mainButton');
const popUpContainer = document.getElementById('popUpContainer');

button.addEventListener('click', function(event) {
  const popUpText = document.createElement('span');
  popUpText.textContent = '1+';
  popUpText.classList.add('popUpText');
  const x = event.clientX - popUpContainer.getBoundingClientRect().left;
  const y = event.clientY - popUpContainer.getBoundingClientRect().top - 50;
  popUpText.style.left = `${x}px`;
  popUpText.style.top = `${y}px`;

  popUpContainer.appendChild(popUpText);

  setTimeout(function() {
    popUpText.remove();
  }, 2000);
});
.popUpContainer {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
}

.popUpText {
  position: absolute;
  color: white;
  font-size: 20px;
  animation: popUpAnimation 2s linear;
  top: 50px;
}

@keyframes popUpAnimation {
  0% {
    opacity: 1;
    transform: translateY(0);
  }
  100% {
    opacity: 0;
    transform: translateY(-100px);
  }
}
<div id="popUpContainer"></div>
<button class="mainButton">click me</button>

更具体地说,我想在单击按钮后出现并向上浮动的按钮旁边制作一个动画,就像单击按钮后的效果一样。但在它向上漂浮2秒后,它停止并消失。我尝试使用上面提供的代码。
我可能是愚蠢的,没有一些对一个(或所有)代码至关重要的东西。我为我做出的任何不明智的行为道歉。
侧记:HTML部分很短,我知道,还有更多的,只是问如果需要。

t2a7ltrp

t2a7ltrp1#

1.我会将.popUpText的颜色更改为black,因为现在它是白色的,很难看到它。
1.将popUpText.style.top =${y}px;更改为popUpText.style.top =${-y}px;,因为现在文本显示在按钮上方的某个位置,如果按钮靠近窗口顶部,则不可见。

相关问题