JS实现打字效果(_会闪烁)
背景
更新博客园个人博客时,突发奇想想要将子标题的入场特效做成类似Linux命令行输命令时的样式
效果网页:LanceEst - 博客园 (cnblogs.com)
思路和代码
1 <h2 id="para">Hi, I'm Lance, and welcome to my workstation :)</h2>
#para {
width: 100%;
text-align: center;
/* 由于js是最后读取并执行的,所以为了视觉体验,先将句子藏起来 */
visibility: hidden;
}
let para = document.getElementById("para"),
str = para.textContent;
let i = 0, timer = 0;
function typing() {
if (i <= str.length) {
para.innerHTML = str.slice(0,i++) + "__";
// i++ ==> i = i;i = i + 1 加法运算是在后进行的
// 所以为了能够流畅运行,需要让 i <= str.length
// 当然,也可以 i < str.length,然后把 i++ 改成 ++i,运行效果也是一样的
timer = setTimeout(typing,150);
} else {
clearTimeout(timer);
// _闪烁效果
setInterval(function() {
if (para.innerHTML.search("__") != -1) {
// 包含"__"
para.innerHTML = str + " ";
// 注意:可以根据实际情况更改_的个数和空格的个数,在使用浏览器默认字体时,空格所占空间和_的比例为 1.5 : 1
// 因此,我这里用了2个_和3个空格
} else{
// 不包含"__"
para.innerHTML = str + "__";
}
},500);
}
}
window.onload = function() {
para.style.visibility = "visible";
typing();
}
注意:这里只显示了一些必要的代码,实际操作可以按照需求更改
JS实现打字效果(_会闪烁)的更多相关文章
- js实现打字效果
<!DOCTYPE html> <html> <head> <meta charset='utf-8'> <title>js typing& ...
- html + css 实现无需 js 的打字效果
以前要达到类似在电脑上打字的效果,需要 js+html.今天我将介绍一种新方法.本文主要介绍纯 html+css 实现打字效果,有一定的参考价值,大家可以学习一下.提供所有代码,可以直接使用. 一.原 ...
- 5行代码带你实现一个js的打字效果
(转载)原文链接:https://juejin.im/post/5ddf55835188257313541581 前言 有次看电影
- 最牛的打字效果JS插件 typing.js
最新在做公司的一个项目,需要实现一个敲打代码的动画效果,粗意味比较简单,果断自己直接开写,写着写着发现是一个坑.需要支持语法高亮,并不能直接简单的用setTimeout来动态附件innerHTML.苦 ...
- JS打字效果的动态菜单代码分享
这篇文章主要介绍了JS打字效果的动态菜单,推荐给大家,有需要的小伙伴可以参考下. 这是一款基于javascript实现的打字效果的动态菜单特效代码,分享给大家学习学习. 小提示:浏览器中如果不能正常运 ...
- JS让网页上文字出现键盘打字的打字效果
一个挺简单的网页特效:JS让网页上文字出现键盘打字的打字效果实现 演示地址:http://codepen.io/guihailiuli/pen/jPOYMZ 以代码形式实现过程分析: <html ...
- javascript实现键盘自动打字效果
最近在网上看到一个字符逐个出现的打字效果,觉得挺有趣的,想一想基本实现思路就是设置一个定时器逐然后逐个向容器中添加字符,于是就基于jQuery写了一个简单版的. <!DOCTYPE html&g ...
- 纯css实现打字效果
概述 很早以前就在别人的博客上面看到打字动画了,觉得非常炫酷,以为是用js做的,找了半天也没找到js在哪里.今天看<css揭秘>,碰巧看到书上打字动画的实现了,而且是纯css实现的!我参考 ...
- JavaScript实现动态打字效果
废话不多说,上代码~~ <!DOCTYPE html> <html lang="en"> <head> <meta charset=&qu ...
- CSS 实现打字效果
JS实现 最近做项目的时候需要实现一个字符逐个出现的打字效果,在网上一搜有个不错的jQuery插件Typed.js,效果很赞 <div class="element"> ...
随机推荐
- oracle快速将表缓存到内存
共有2种方法: 1) alter table fisher cache; 2) alter table fisher storage(buffer_pool keep); --取消缓存 1) alte ...
- observObservableCollection改变model属性UI不更新
使模型类实现INotifyPropertyChanged即可 public class ResDepartmentData : INotifyPropertyChanged { //需要更新UI的属性 ...
- vscode注释插件
VSCODE注释插件:koro1FileHeader 按koroFileHeader 插件,配置默认注释 1.在扩展中搜索koroFileHeader,安装 2.安装完成后,在设置中搜索,koro1F ...
- Kotlin相关语法
1.Kotlin的匿名函数 { val a = 1 val b = 2 a+b } 就是一个不带名字的函数体 2.Kotlin的函数类型 函数类型:用来声明一个函数参数和返回值形式的 特殊数据类型声 ...
- battery-historian耗电量测试
Battery-Historian简介 Battery-Historian是谷歌推出的一款专门分析Bugreport的工具,是谷歌2015年I/O大会上推出的一款检测运行在android5.0(Lol ...
- pwn基础
pwn常用工具 1.IDA 是一个世界顶级的交互式反汇编工具,主要用来静态分析. 使用F5即可将汇编反编译成易于阅读的伪代码:空格键:文本,图形和反汇编窗口的切换:ESC:退到上一个操作地址:F7:单 ...
- [UnityShader]说厌了的遮挡显示
首先是效果 这个其实有相当多的地方在说了,我就不嚼舌根了 大概原理:一个Shader两个Pass,第一个Pass不管深度,都渲染,但是不写入深度,第二个Pass几乎没有改动,因为后执行,会覆盖掉第一个 ...
- python-异常/文件/时间/随机数
python-异常/文件/时间/随机数 def exception_test(): try: x = float(input("请输入被除数:")) y = float(input ...
- Mybatis学习笔记【狂神说】
环境 Jdk 1.8 Mysql 5.7 Maven 3.6.1 IDEA 回顾 JDBC Mysql java基础 Maven Junit SSM框架:都是有配置文件的.最好的学习方式:看官方文档. ...
- iOS 常用第三方库及原理
AFNetWorking SDWebImage MJRefresh Masonry YYModel IQKeyboardManger