【发布时间】:2022-01-22 14:09:04
【问题描述】:
我有一个 JavaScript 函数,可以逐字输入一条消息。但是,在当前要输入的字符所在的位置,我有一个闪烁的 css 动画。我需要的是停止这个动画并让它消失。
我正在使用带有 #id::after 的 css 将动画放在相关文本之后。动画效果很好,我需要一种通过 JavaScript 将 content: '█'; 设置为 content: ''; 的方法。
(function type_p(){
let msg = 'This is a message to type out! Spooky!';
let element = document.getElementById('typehere');
typeOut(msg, '', 0, element);
}());
function typeOut(text, letter, index, element){
letter = text.slice(0, ++index);
element.textContent = letter;
if (letter.length == text.length){
stop();
}
setTimeout(typeOut, 100, text, letter, index, element);
}
#typehere {
position: relative;
}
#typehere::after {
content: '█';
position: absolute;
animation: blink 1.5s infinite;
/* animation-iteration-count: 2; */
}
@keyframes blink {
0% {
opacity: 0;
}
50% {
opacity: 1;
}
51% {
opacity: 0;
}
100% {
opacity: 0;
}
}
<p id="typehere">Here</P>
我知道 CSS animation-iteration-count: 但是这会停止动画,但它仍然可见(静止)。如何删除它?
【问题讨论】:
标签: javascript css