整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:

漂亮的JS打字效果,完整源码

<script src="https://lf6-cdn-tos.bytescm.com/obj/cdn-static-resource/tt_player/tt.player.js?v=20160723"></script>

效果如视频,完整源码如下,保存为html即可使用。

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title></title>
	<style type="text/css">
		div{
			font-family:"楷体";  /*设置字体*/
			margin:10px auto;   /*设置外边距*/
			padding:30px;   /*设置内边距*/
			font-size: 36px;  /*设置文字大小*/
			width: 800px;
			height: 600px;
			/*border:1px solid #CCCCCC;  /*设置元素边框*/
			/*box-shadow:3px 3px 6px #999999;  /*设置边框阴影*/
			writing-mode:vertical-rl;  /*设置以垂直方式从右向左显示*/
		}
	</style>
</head>
<body onclick="show();">
	<div>
   		<p id="content_source" style="display: none;">
内丹周天功法要领。
吕祖曰:
周天非以气做主,以心到为妙诀。无心而守,无意而行。
吾身之气,四肢百体,原是贯通,不要十分着力。于此锻炼识神,断除妄见,然后药生,药非有形之物,此性光也。而即先天之真气,然必于大定后方见,并无采法,言采者大谬矣。
见之既久,心地光明,自然心空漏尽,解脱尘海。若今日龙虎,明日水火,终成妄想。吾昔受火龙真人口诀如是。
   		</p>
		<p id="content_target">
		</p>
	</div>
	<script>
		var content = document.getElementById("content_source").innerHTML;
		for(i=0; i<content.length; i++){
			document.getElementById("content_target").innerHTML += "<span style='padding:3px; display:none' id='c"+i+"'>" + content[i] + "</span>";
			if(content[i].charCodeAt() <= 10){
				document.getElementById("content_target").innerHTML +="<br>"
			}
		}
		var index = 0;
		function show(delay, call_back){
			var c_x = document.getElementById("c"+index);
			index++;
			if(c_x){
				c_x.style.display = "";
				c_x.style.color = "#ff0000";
				c_x.style.fontSize = "60px";
				setTimeout(show, 400);
			}
			var pre_c_x = document.getElementById("c"+(index-2));
			if(pre_c_x){
				pre_c_x.style.color = "#000000";
				pre_c_x.style.fontSize = "36px";
			}
		}
	</script>
</body>
</html>

如果想要加密其中的JS代码,防止他人知道实现逻辑,可使用JShaman平台的JS加密服务。

JShaman:JShaman - JS加密、JS混淆 - 专业JavaScript代码保护服务提供商

使用如下图所示的配置:

注:选用了所有加密项,包括加密全局函数,因为在外部html中调用全局函数show,所以把show设为保留字。

加密后的代码效果:

代码部分放大,这样的代码是不是有点艺术感?

家好,我是大澈!

本文约 900+ 字,整篇阅读约需 1 分钟。

每日分享一段优质代码片段。

今天分享一段优质 CSS 代码片段,实现打字机般的效果或其他类似的离散动画效果。

老规矩,先阅读代码片段并思考,再看代码解析再思考,最后评论区留下你的见解!

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8">
    <title>CSS打字机效果</title>
    <style>
      .text {
        border-right: 2px solid #eee;
        font-size: 28px;
        text-align: center;
        white-space: nowrap;
        overflow: hidden;
        background: #fff;
      }
      .useAnimation {
        animation: width-change 4s steps(44) 1s normal both,
        color-change 0.5s steps(44) infinite normal;
      }

      @keyframes width-change {
        from {
          width: 0;
        }
        to {
          width: 343px;
        }
      }
      /* 竖线的闪烁效果 */
      @keyframes color-change {
        from {
          border-right-color: #363636;
        }
        to {
          border-right-color: #ffffff;
        }
      }
    </style>
  </head>
  <body>
    <p class="text useAnimation">
    欢迎投稿分享,优质代码片段
    </p>
  </body>
</html>


分享原因

这段代码展示了如何使用 CSS 动画来创建文本打字效果,以及如何使光标闪烁。

这种动画效果通常用于增强用户界面的动态交互感。

例如:在博客文章或新闻网站中,使用这种效果可以突出显示重要的引用或关键信息,吸引读者的关注。

代码解析

1. 基本样式设置 .text

border-right: 2px solid #eee;:添加一个右边框,模拟光标效果。

white-space: nowrap;:防止文本换行。

overflow: hidden;:隐藏超出容器范围的内容。

2. @keyframes width-change

from { width: 0; }:起始状态宽度为 0。

to { width: 343px; }:结束状态宽度为 343px,可根据文本实际宽度自行调整。

3. @keyframes color-change

from { border-right-color: #363636; }:起始状态右边框颜色为深灰色。

to { border-right-color: #ffffff; }:结束状态右边框颜色为白色。

4. 应用动画 .useAnimation

animation:应用两个动画 width-change 和 color-change。

width-change 4s steps(44) 1s normal both:

动画 width-change 运行 4 秒。

动画延迟 1 秒开始。

normal 表示正常播放。

both 表示动画结束时保持最终状态。

steps(44) 会使动画在 4 秒内完成 44 步,每步大约 0.09 秒(4 秒除以 44 步)。这会产生一种逐步增加宽度的效果,类似于打字机一个字符一个字符显示的效果。

color-change 0.5s steps(44) infinite normal:

动画 color-change 运行 0.5 秒。

infinite 表示动画无限循环。

steps(44) 创建了一个分为 44 步的闪烁动画,每步大约 0.011 秒(0.5 秒除以 44 步),这会使光标看起来在不断闪烁。

- end -

线顶级免费键盘打字课程。

这些免费打字课程将教您如何打字,并提高速度和准确性。他们针对每个不同的年龄段和情况,并且都有不同的功能,使它们变得出色而独特。

1.在Typing.com免费上打字课https://www.typing.com/student/lessons

Typing.com为初学者、中级和高级打字员提供免费的打字课程。它的目标受众是中学生,一直到成年人。

在每堂打字课中,除了虚拟键盘上显示字母的位置和使用手指之外,没有什么其他东西可以分散您的注意力。完成后,您将看到自己的速度,准确性,完成所需的时间以及遇到问题的键。

注册是不需要的。但如果注册,你可以跟踪你的进展,并获得奖励。注册是免费的。

有一个教师门户(https://www.typing.com/teachers)可供教师使用,以便他们在完成免费打字课程时可以管理和跟踪学生的进度。

优点

1)用分数和成就跟踪进度。

2)不需要注册。

3)识别您的关键问题。

4)适合初学者。

缺点

1)提供的课程数量有限。

2)高级用户不会显著提高他们的技能。

2.Speed Typing Online的免费打字课程https://www.speedtypingonline.com/typing-tutor

《Speed Typing Online》有17个经典课程,包括学习键盘上的所有字母,然后通过复习来测试你的技能。然后你可以进入高级课程,在那里你开始把这些字母串在一起组成单词。

你在这些打字课上看到的每一个结果都可以通过一个特殊的URL共享,这样你就可以展示你的分数了。

如果您免费注册,就可以跟踪进度并设置自定义目标。您还将获得免费的打字测试和游戏。


优点

1)设定自定义目标。

2)游戏简单明了。

缺点

1)更多的是为初学者而不是高级用户。

2)必须注册才能保存或访问课程。

3.Ratatype免费打字课程https://www.ratatype.com/learn/

在Ratatype有十几节免费的打字课,在开始之前,你会得到一些如何坐在电脑前的提示,这是大多数打字课都会忽略的。

此键盘课程网站的独特之处在于,如果您在课程中犯了太多错误,则必须重新开始。 一旦您完成了合理的键入错误或根本没有键入错误,就可以继续进行更多的打字课程。

当你打字的时候,你可以看到你的打字次数和WPM,甚至可以和高中名单上的其他人竞争。

优点

1)几个打字技巧。

2)15节打字课。

3)干净现代的设计。

缺点

1)需要一个免费的用户帐户。

2)不能跳至高级课程。

4.英国广播公司(BBC)提供的免费打字课https://www.bbc.co.uk/bitesize/topics/zf2f9j6/articles/z3c6tfr

Dance Mat Typing使用古怪的动物角色和丰富多彩的游戏,使小学生的免费打字课变得有趣。

你要上四级打字课,每一级都有三个不同的阶段。这有助于把课程分成可管理的小部分,所以学习打字并不是很难。

无需注册或登录,因此您可以快速进入他们的打字课程。

优点

1)简介对初学者很有帮助。

2)幼儿的有趣学习工具。

3)无需注册。

缺点

1)有些人可能很难听懂配音的口音。

2)对于成人或中级到高级用户来说不是很有用。

5.TypingClub免费打字课程https://www.typingclub.com/

TypingClub上有许多打字课,您将在其中学习字母键,Shift键,数字和符号。还有一些课程特别关注速度。您可以随时跳到任何课程。

在学习打字课程时,您将能够查看自己的速度和准确性。如果您注册了免费帐户,则可以在学习所有课程时跟踪自己的进度,以及有史以来最高的WPM和其他统计信息。

教师还可以使用TypingClub的免费打字课程,他们可以监控学生的学习进度,自定义课程,甚至可以管理多个班级。

TypingClub的高级版删除了广告,包括故事输入、游戏、重播尝试、主题和更多的输入报告。

优点

1)提供移动应用程序。

2)提供教师设计课程的工具。

缺点

1)免费版有广告。

2)所有年级和年龄的课程都是相同的。

6.Sense-Lang.org上的免费打字课https://sense-lang.org/typing/tutor/keyboarding.php

Sense-Lang.org提供16堂免费打字课程,以及一项允许您使用自己的文字进行练习的功能。

每节课均配有动画键盘,使您可以轻松直观地看到您应该如何键入以及如何减少错误。您还可以在课程中查看WPM,时间和准确性的实时打字统计信息。

教师还可以访问这些免费打字课程,他们可以在其中创建在线课程,分配课程并获取学生进度的最新信息。

这些免费打字课程可以多种语言提供,也适用于国际键盘。

优点

1)训练多种键盘风格。

2)创建在线课程的工具。

缺点

课程很短,中等熟练的打字员会很快用尽他们。

7.GCFLearnFree的免费打字课https://edu.gcfglobal.org/en/typing/

GCFLearnFree提供免费的打字课程,面向没有或只有很少打字技能的成年人。

对于每节课,您都可以选择学习按键或直接练习它们。

这是一个很好的入门项目,但是因为他们不会告诉你你打字有多快或者多准确,我们建议你在掌握了基本的技能后换一个项目。

优点

1)动画视频既简单又有用。

2)网站干净,易于使用。

缺点

1)无法快进或快退视频。

2)不适用于幼儿。

8.Touch Typing Study的免费打字课程https://www.typingstudy.com/

Touch Typing Study有15个免费的打字课程,有许多不同的语言和键盘布局,还有一些游戏和速度测试。

每节课都被分成不同的主题,这样你就可以很容易地看到下一节是什么内容,或者如果你对自己的技能有信心,可以跳到下一节。

键入时,您可以查看错误,速度和上课时间。

优点

1)提供了大量的键盘语言。

2)实时WPM速度等级。

缺点

1)用户界面外观过时。

2)没有视频或音频说明;文本指令的视觉帮助很小。

9.Peter的在线打字课程http://www.typing-lessons.org/preliminaries_1.html

在Peter的在线打字课程中有几堂免费的打字课,可以让你学习如何使用数字和数学键。

除了免费打字课程外,这里还有许多有关人体工程学,有效学习和练习的重要信息,可帮助训练您的手指更好地打字。

不幸的是,您在课程中无法查看自己的速度和准确性,也无法保存进度。当课程结束时,系统会告诉您完成该课程所花费的时间以及出现的错误数量。

优点

1)不需要注册。

2)难度不断增加的课程直到最终测验。

缺点

1)无法保存和跟踪进度。

2)在课程结束时显示速度和准确性。

10.Big Brown Bear的免费打字课http://bigbrownbear.co.uk/learntotype/

Big Brown Bear有14堂免费打字课,可指导您学习键盘上的所有键。

我们喜欢这个特别的网站是如何在屏幕上显示文字的。文字是在一条线上,它们穿过屏幕的中心, 而不是像平时阅读时那样把它们看作一段文字, 这样你就不必移动眼睛了。

但是,在这些课程中,您必须先更正错误,然后才能继续输入,这可能是您想要的,也可能不是。

在每节课中,你可以看到你的速度,准确性和时间。你还可以在你应该输入的键上显示一双动画手或颜色。

优点

1)显示单个滚动句子而不是段落。

2)当你达到目标时,就进入下一个阶段。

3)无需注册。

缺点

1)需要Adobe Flash。

2)不提供打字游戏。

3)直到您按下正确的键,进度才会停止。

11.FreeTypingGame.Net的免费打字课https://www.freetypinggame.net/free-typing-lesson.asp

这里有30个免费打字课程,一次可以解决两个字母的问题。在上课之前,您需要设置WPM目标并选择是否要在学习时显示键盘。在对新键进行简短介绍之后,您就可以开始上课了。

每个打字课的底部都显示了剩余时间以及WPM。本课程的最后是您的总体统计数据以及您是否达到目标的指标。

优点

1)提供许多课程和游戏。

2)游戏简单,并带有有趣的声音效果。

3)选择在屏幕上显示或隐藏键盘。

4)对小孩子来说很有趣。

缺点

1)网站设计和外观非常过时。

2)文本可能很小,很难在高分辨率屏幕上阅读。