javascript - 如何实现这种打字和删除的效果呢?

标签 javascript html css

我想复制这个网站的打字删除效果:http://www.cantercompanies.com .

我一直在尝试使用代码块、HTML、CSS 和 JS 来解决这个问题。但是,经过数小时和数天的尝试,我似乎无法让它工作。

这显然是在我这边,因为我对编码还很陌生。

我真的想要这种带有闪烁光标的精确键入和删除效果。我当然会使用自己的 Logo 和固定文本,但需要一些指导和帮助来复制上面提供的链接中坎特的示例……:-)

最佳答案

你不需要任何库,

HTML

  <div class="flex">
    <p class="header-sub-title" id="word"></p><p class="header-sub-title blink">|</p>
</div>

CSS

@import 'https://fonts.googleapis.com/css?family=Roboto';
html, body {
    background-color: #000;
}
h2, a, p {
    color: #fff;
    font-family: Roboto;
    text-decoration: none;
}
p>a {
    color: #fd084a;
}
.blink {
  animation: blink 0.5s infinite;
}
@keyframes blink{
  to { opacity: .0; }
}
.flex {
    display: flex;
}
.header-sub-title {
  color: #fff;
  font-family: "Courier";
  font-size: 20px;
  padding: 0.1em;
}

JS

const words = ["CSS3.", "HTML5.", "javascript."];
let i = 0;
let timer;

function typingEffect() {
    let word = words[i].split("");
    var loopTyping = function() {
        if (word.length > 0) {
            document.getElementById('word').innerHTML += word.shift();
        } else {
            deletingEffect();
            return false;
        };
        timer = setTimeout(loopTyping, 500);
    };
    loopTyping();
};

function deletingEffect() {
    let word = words[i].split("");
    var loopDeleting = function() {
        if (word.length > 0) {
            word.pop();
            document.getElementById('word').innerHTML = word.join("");
        } else {
            if (words.length > (i + 1)) {
                i++;
            } else {
                i = 0;
            };
            typingEffect();
            return false;
        };
        timer = setTimeout(loopDeleting, 200);
    };
    loopDeleting();
};

typingEffect();

引用:https://codepen.io/haaswill/pen/VKzXvZ

关于javascript - 如何实现这种打字和删除的效果呢?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54849362/

相关文章:

javascript - 按钮显示div而不删除之前的div

`onload` 事件的 JavaScript 对象/回调生命周期

javascript - 永远不会到达我的函数调用 - ReactJs 0.12.0

html - 在较大的计算机上查看时如何放大我网站上的所有内容?

html - 为什么 ionic 标签没有正确呈现?

html - 表格 CSS 的单元格溢出问题

javascript - 在子 Controller 中触发时,Ionic AngularJS 父动画无法正确运行

javascript - 下拉菜单仅在移动设备上闪烁并消失

Javascript 函数属性

javascript - 如何选择元素的第 n 个子元素?