背景

更新博客园个人博客时,突发奇想想要将子标题的入场特效做成类似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 + "&nbsp;&nbsp;&nbsp;";
// 注意:可以根据实际情况更改_的个数和空格的个数,在使用浏览器默认字体时,空格所占空间和_的比例为 1.5 : 1
// 因此,我这里用了2个_和3个空格
} else{
// 不包含"__"
para.innerHTML = str + "__";
}
},500);
}
} window.onload = function() {
para.style.visibility = "visible";
typing();
}

注意:这里只显示了一些必要的代码,实际操作可以按照需求更改

JS实现打字效果(_会闪烁)的更多相关文章

  1. js实现打字效果

    <!DOCTYPE html> <html> <head> <meta charset='utf-8'> <title>js typing& ...

  2. html + css 实现无需 js 的打字效果

    以前要达到类似在电脑上打字的效果,需要 js+html.今天我将介绍一种新方法.本文主要介绍纯 html+css 实现打字效果,有一定的参考价值,大家可以学习一下.提供所有代码,可以直接使用. 一.原 ...

  3. 5行代码带你实现一个js的打字效果

    (转载)原文链接:https://juejin.im/post/5ddf55835188257313541581 前言 有次看电影

  4. 最牛的打字效果JS插件 typing.js

    最新在做公司的一个项目,需要实现一个敲打代码的动画效果,粗意味比较简单,果断自己直接开写,写着写着发现是一个坑.需要支持语法高亮,并不能直接简单的用setTimeout来动态附件innerHTML.苦 ...

  5. JS打字效果的动态菜单代码分享

    这篇文章主要介绍了JS打字效果的动态菜单,推荐给大家,有需要的小伙伴可以参考下. 这是一款基于javascript实现的打字效果的动态菜单特效代码,分享给大家学习学习. 小提示:浏览器中如果不能正常运 ...

  6. JS让网页上文字出现键盘打字的打字效果

    一个挺简单的网页特效:JS让网页上文字出现键盘打字的打字效果实现 演示地址:http://codepen.io/guihailiuli/pen/jPOYMZ 以代码形式实现过程分析: <html ...

  7. javascript实现键盘自动打字效果

    最近在网上看到一个字符逐个出现的打字效果,觉得挺有趣的,想一想基本实现思路就是设置一个定时器逐然后逐个向容器中添加字符,于是就基于jQuery写了一个简单版的. <!DOCTYPE html&g ...

  8. 纯css实现打字效果

    概述 很早以前就在别人的博客上面看到打字动画了,觉得非常炫酷,以为是用js做的,找了半天也没找到js在哪里.今天看<css揭秘>,碰巧看到书上打字动画的实现了,而且是纯css实现的!我参考 ...

  9. JavaScript实现动态打字效果

    废话不多说,上代码~~ <!DOCTYPE html> <html lang="en"> <head> <meta charset=&qu ...

  10. CSS 实现打字效果

    JS实现 最近做项目的时候需要实现一个字符逐个出现的打字效果,在网上一搜有个不错的jQuery插件Typed.js,效果很赞 <div class="element"> ...

随机推荐

  1. 极速编程体验:VsCode和webstorm插上ChatGPT

    ChatGPT走入了千家万户,而她最适合的用法之一就是进行编程辅助,特别是对一些常规开发,有比较好的引导作用. 很多主流编辑器都有相关的插件支持接入ChatGPT,而VsCode和webstorm是我 ...

  2. Python:Excel自动化实践入门篇 乙【送图书活动继续】

    *以下内容为本人的学习笔记,如需要转载,请声明原文链接微信公众号「englyf」https://mp.weixin.qq.com/s/y-npGelPJwmx3iNvHaXRTg 本文上接<Py ...

  3. LeetCode-2 两数相加题解

    题目来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/add-two-numbers 题目描述 给你两个 非空 的链表,表示两个非负的整数.它们每位 ...

  4. JavaScript验证API

    验证API 两个方法: checkValidity():如果input元素中的数据是合法的返回true,否则返回false: setCustomValidity():设置input元素的validat ...

  5. 【1】部署环境python+pycharm+JDK+SDK+node安装+appium安装+Appium-python-client安装及配置+(模拟器)

    安装SDK检查命令  adb doctor 安装JDK,SDK是为了手机端应用程序的访问去做的基础库的搭建 JDK,SDK环境变量需要在一块,不要一个上,一个下 JAVA_HOME  Path  在一 ...

  6. 洛谷P2205 [USACO13JAN]Painting the Fence S

    题目 https://www.luogu.com.cn/problem/P2205 思路 刷水题真解压 差分就完事了 值得注意的一些东西:像这种和数轴或者坐标相关的题,还有扫描线题,一定要注意区间的开 ...

  7. 【问题】Windows(CR LF)和Unix(LF)

    问题描述: 在获取一张JPG图片的信息数组后, 再将这些信息存入新建JPG文件, 却发现新建图片异常. image.jpg为原图 image1.jpg为新建图片 原因: 在Windows环境下, 使用 ...

  8. myql数据库新建之后,本地可以访问,远程访问不了

    通过如下命令去修改: use mysql; update user set user.Host='%' where user.User='root'; flush privileges;

  9. go+redis实现消息队列发布与订阅

    在做项目过程中,实现websocket得时候,不知道哪里写的不太合适,客户端消息收到一定程度,剩下的消息收不到,修改了缓冲区大小,还是没有解决问题,后面因为项目结束期比较紧张,没有时间调试消息的时候, ...

  10. linux安装datax +datax-web踩坑总结

    一丶安装datax 环境:JDK8+     py2.7+ 下载地址:http://datax-opensource.oss-cn-hangzhou.aliyuncs.com/datax.tar.gz ...