html5 打字机效果,使用JavaScript制作打字机文本效果
我们在看电影时经常能够看到一些炫酷的打字机效果,用于显示一些地名或剧情简介。我们在网页中也能够实现类似的效果,目前网上已经有很多打字机效果的插件,如轻量级响应式jQuery打字机特效插件和逼真的js打字机效果插件等。那么,实现类似的打字机效果困难吗?其实要制作一个打字机效果非常简单,下面我们就以纯JavaScript来实现一个炫酷的打字机效果。
在完成这个打字机效果之前,让我们先来体验一下打字机的效果:
开始打印
制作打字机效果
上面的效果是如何工作的呢?让我们来一步步的分析。
首先我们需要一个显示打字效果的容器:
id为teletype的元素用于显示要打印的文字。开始是它带有一个hidden属性,用于阻止文字在开始时就显示出来。
另外还需要一个输入框和一个按钮,让我们可以输入要打印的文字,完整的HTML结构如下:
开始打印
接下来,我们定义一个光标元素,它用于模拟打字时闪烁的光标效果:
var cursor = "|";
然后将光标元素插入到span#teletype节点中。
var teletype = document.getElementById("teletype");
teletype.innerHTML = cursor;
开始打印文字时,将span#teletype元素的hidden属性去掉。
teletype.removeAttribute("hidden");
然后通过一个计时器不断的刷新span#teletype元素中的内容,通过一个counter计数器来不断累加要显示的文字,模拟出打字的效果。
var teletype = document.getElementById("teletype");
var input = document.querySelector(".u-input");
var telecopy = input.value;
var timer = setInterval(function(){
teletype.innerHTML = telecopy.substr(0, counter) + cursor;
counter++;
if(counter === telecopy.length + 1) {
clearInterval(timer);
}
}, 100);
完整的js代码应该类似下面的样子:
(function(){
var btn = document.getElementById("btn-ctrl");
function typeIt() {
var cursor = "|";
var teletype = document.getElementById("teletype");
var input = document.querySelector(".u-input");
var telecopy = input.value;
var counter = 0;
teletype.innerHTML = cursor;
teletype.removeAttribute("hidden");
var timer = setInterval(function(){
teletype.innerHTML = telecopy.substr(0, counter) + cursor;
counter++;
if(counter === telecopy.length + 1) {
clearInterval(timer);
}
}, 100);
}
btn.onclick = function(){
typeIt();
}
})();
增加光标闪烁效果
在文字打印过程中和打印结束后,光标应该有一种不停闪烁的效果。这种光标闪烁效果可以使用CSS3的animation动画来完成。
@keyframes blink {
from, to {
color: transparent;
}
50% {
color: black;
}
}
在光标元素调用这个动画。
#teletype span {
animation: blink 1s step-end infinite;
}
到这里,一个最简单的JavaScript打字机效果就完成了!
html5 打字机效果,使用JavaScript制作打字机文本效果相关推荐
- html5 图片粒子效果,Canvas + JavaScript 制作图片粒子效果
首先看一下源图和转换成粒子效果的对比图: 左侧图片为源图,右侧图片为粒子效果图.该效果是在Canvas画布上制作的.将图片制作成粒子效果相对而言是比较简单的.重点了解两个知识点即可 1:图片是通过im ...
- HTML+CSS+JavaScript制作3D云效果,叼炸天!可用鼠标控制方向!
HTML+CSS+JavaScript制作3D云效果,叼炸天!可用鼠标控制方向! 作品介绍 1.网页作品简介方面 :3D云效果,叼炸天!可用鼠标控制方向! 2.网页作品编辑方面:此作品为学生个人主页网 ...
- html5实现无缝滚动的效果,基于JavaScript实现无缝滚动效果
本文实例为大家分享了JavaScript实现无缝滚动效果展示的具体代码,供大家参考,具体内容如下 首先应该区分样式中的绝对定位和相对定位,一般来说,移动的单位为绝对定位,在这个实例中,移动的Ul就是绝 ...
- html5实现立体照片墙效果,利用css制作3D照片墙效果
利用css制作3D照片墙,具体代码如下所示: 无标题文档 以上代码是准备工作,在html代码的body主体中放了一个div,里面包着你想要显示在照片墙上的照片,数量可以任意.接着开始着手写样式. bo ...
- ppt怎么把图片做成翻书效果_ppt如何制作翻书效果 ppt翻书效果怎么制作
相信说起PPT,很多的网友经常都会使用到,无论是工作党还是学生党,经常都会使用到PPT进行会议演示吧,而PPT中有非常多的繁杂的各种制作效果,其中有一个翻书效果,好多网友都表示不知道怎么制作,那么下面 ...
- ppt怎么把图片做成翻书效果_PPT怎么制作翻书效果?PPT制作翻书效果教程
PPT是我们经常使用的幻灯片制作软件,制作的幻灯片可以进行播放.那么为了使PPT内容更加的丰富.生动,我们可以在制作PPT的时候添加一些动画效果,今天小编要教的大家的是PPT中的翻书动画效果,有兴趣的 ...
- html5本地点赞状态,javascript实现手动点赞效果
做移动开发的时候经常会遇到点赞的一些处理,尤其是当使用字体图标的时候,由于仅希望改变字体,但是字体经过编译之后又和它的.html()不一致,所以导致判断起来比较麻烦,最后想了一个办法来解决此问题. 还 ...
- 计算机flash拉开效果,使用Flash制作卷轴展开效果
1.北京奥运会开幕式上那充满诗意的卷轴,以及它所呈现给我们的一幅幅无法言喻的美妙画面,大家一定还记忆犹新吧!今天我们就用Flash来制作一幅诗意的水墨卷轴展开的动画,主要用到矩形工具和渐变填充工具,操 ...
- 用计算机做动画效果,ps制作眨眼效果,用ps制作眨眼动画效果
AE是强大的视频制作软件,那么你知道如何快速的制作酷炫的卡片擦除效果么?下面让我们跟着以下图文步骤,学习下制作的方法. 工具/材料 After Effects CS4 操作方法 01打开AE软件,创建 ...
最新文章
- python字符串功能_python字符串内置功能
- 计算机社团嘉年华的游戏,社团嘉年华,游戏大乱斗!
- mysql5.7 忘记root密码后,如何找回密码?
- hdu 5008 Boring String Problem(后缀数组+rmq)
- 解密阿里云七武器之高性能消息服务ONS
- 层次化防御保证企业门户网站安全
- 快速学习nodejs系列:四、nodejs特性1--单线程
- 推算周期软件有哪些,推算周期软件怎么用
- java游戏开发入门(一) - HelloWorld
- 9 个出色的 JavaScript 库推荐【云图智联】
- 用博客记录成长的历程
- android打开apk文件怎么打开,APK是什么文件 APK文件怎么打开?
- 十个值得所有极客收藏的网站
- 统一社会信用代码的校验
- 我对智能网卡offload的认识
- DZone每日必读-news: 指导软件团队取得成功的 4 种方法
- 【蓝桥杯选拔赛真题01】Scratch消失的小猫 少儿编程scratch蓝桥杯选拔赛真题讲解
- 运维工程师必备的认证【红帽liunx-RHCE 8】
- line-height的使用
- 《泛型编程与stl》