JavaScript 动态网页实例 —— 文字移动

server/2024/10/21 6:22:36/

前言

介绍文字使用的特殊效果。本章介绍文字的移动效果,主要包括:文字的垂直滚动、文字的渐隐渐显、文字的闪烁显示、文字的随意拖动、文字的坠落显示、页面内飘动的文字、漫天飞舞的文字、文字的下落效果。对于这些效果,读者只需稍加修改,就可以应用在自己的页面设计中。

文字的垂直滚动

本节给出一段文字垂直滚动的示例代码,页面中,一段文字自下而上逐字滚动显示。在实际应用中,也可去掉文字周围可显示的边框。

要点

  • 本节代码主要使用了字符串对象的length属性和对字符串元素的引用方法,主要功能和用法如下。 在JavaScript中,字符串是一组被引号(单引号或双引号)括起来的文本。至于使用单引号还是双引号,完全可以根据自己的习惯。只要使字符串外的引号匹配成对即可。
  • 与其他语言(如C语言)不同,JavaScript中不对“字符”和“字符串”加以区分,因此,语句“var
    oneChar=“s”;”定义了一个只有一个字符(“s”)的字符串。字符串是与 String 对象关联的。可以使用
    charAt()方法从字符串中提取字符,例如,使用“var
    myName=“Thomas”;”定义了一个字符串,就可以通过“myName.charAt(2)的形式对其元素进行引用。
  • 由于字符串中字符的编号从0开始,因此,上述代码的功能是将字符串(“Thomas”)中的第3个字符“o”取出。
  • 可以使用 length()方法求出字符串的长度。例如,对上述已定义的 myName 字符串,可用“var
    strlen=myName.length();”求出其长度,得到的结果为 6。
javascript"><script language="JavaScript">
<!--
msg ="天行健,君子以自强不息。";           //待滚动的文字
align="";           //对齐方式
speed=500;           //设置滚动速度
up=true;           //滚动的方向为上
spas=" ";
for (a=0;a<=3;a++) {spas+=" "}
msg=spas+msg+spas;
j=eval(-1);           //j给定初始值
stop=msg.length;
document.write("<form name='form'><table border=5 cellspacing=5 cellpadding=0 bordercolorlight=#C0C0C0 bordercolordark=#008000 bordercolor=#FF0000 style='border-collapse: collapse' align="+align+">");           //设置表单格式
for (i=1;i<=5;i++) {
document.write("<tr><td><input type=text name=\"box"+i+"\" size=1 style='color: #008000; border-style: solid; border-width: 1px;  background-color: #FFc0c0'>");           //依次画出5个方框
document.write("</td></tr>");
}
document.write("</table></form>");function scrollIt() {
j++;
with (document.form) {
if ((j+5) <= stop) {           //判断是否满足停止条件
box1.value = msg.charAt(j);           //将第j个字符放在第1个方框中
box2.value = msg.charAt(j+1);           //将第j+1个字符放在第2个方框中
box3.value = msg.charAt(j+2);           //将第j+2个字符放在第3个方框中
box4.value = msg.charAt(j+3);           //将第j+3个字符放在第4个方框中
box5.value = msg.charAt(j+4);           //将第j+4个字符放在第5个方框中} else 
j=0;           //从头开始循环}
setTimeout("scrollIt()",speed);	           //按照滚动速度的设置,循环滚动字符串
}scrollIt();           //直接调用scrollIt函数//-->
</script>

在这里插入图片描述在这里插入图片描述

分析

  • (1)程序首先定义了一组变量,包括字符串变量、对齐方式、滚动速度、滚动方向,以及包含一个空格的字符串 spas。
  • (2)随后,使用一个for 循环对 spas进行了重新定义,使其包含3个空格,然后,对字符串msg重新定义,使其前后各增加3个空格。
  • (3)然后,使用 document.write()语句设置了一个表单,并在该表单内,通过一个for
    循环画出一个5行1列的表格,表格的每个单元格依次命名为“box1”、“box2”、“box3”“box4”、“box5 ”。
  • (4)在函数scrollIt()中,使用一个with语句,将字符串的前5个字符依次取出,并将其放置在已定义的表格各行中。
  • (5)在程序的最后,使用“scrolllt();”直接调用函数 scrolllt(),完成显示。

9.2 文字的渐隐渐显

本节给出一段文字渐隐渐显的示例代码,文字颜色逐渐由深变浅,随后又由浅变深,给人渐隐渐显的效果。

要点

本节代码主要使用了子字符串截取方法 substring()和浏览器版本检测 navigator.appVersion,其主要功能和用法如下。
substring()用于截取一个已知字符串的子字符串,其使用方法为“字符串.substring(开始字符,结束字符)”。
使用 Navigator 对象的 appVersion 属性,可以检测当前浏览器的版本号。

javascript"><script language="JavaScript">
<!--
function checkBrowserForVersion4(){          //判断当前浏览器的版本
var x=navigator.appVersion;          //获得当前浏览器的版本
y=x.substring(0,4);
if(y>=4) Effect();}          //如果版本高于4,则调用显示效果函数var colors=new Array          //颜色数组
("FFFFFF","FFFFFF","FFFFFF","FFFFFF","FFFFFF","FFFFFF","FFFFFF","F9F9F9","F1F1F1","E9E9E9","E1E1E1","D9D9D9","D1D1D1","C9C9C9","C1C1C1","B9B9B9","B1B1B1","A9A9A9","A1A1A1","999999","919191","898989","818181","797979","717171","696969","616161","595959","515151","494949","414141","393939","313131","292929","212121","191919","111111","090909","000000"
)
a=0,b=1          //定义变量function Effect(){          //效果函数
color=colors[a];          //设置当前文字显示的颜色//待显示的文字
aa="<font size='3'><font size='5' face='隶书, Helvetica, sans-serif'><font color="+color+">大江东去<p>浪淘尽<p>千古风流人物</font></font></font>"
object1.innerHTML=aa          //如果是ie&

http://www.ppmy.cn/server/31929.html

相关文章

redis集群的创建安装与配置,以及维护

一、redis集群配置 port 7000 cluster-enabled yes cluster-config-file nodes.conf cluster-node-timeout 5000 appendonly yes 二、安装ruby&#xff08;ruby可以充当redis客户端的角色&#xff09; yum -y install ruby ruby-devel rubygems rpm-build gem install …

08 - 步骤 表输出

简介 表输出&#xff08;Table Output&#xff09;步骤是用于将 Kettle 中的数据写入关系型数据库表的步骤。它允许用户将数据流中的数据插入、更新或删除到目标数据库表中。 使用 场景 我要将处理完的数据流中的sysOrgCode 跟 plateNumber 保存记录到mysql 1、拖拽表输出…

基于Spring Boot的音乐网站与分享平台设计与实现

基于Spring Boot的音乐网站与分享平台设计与实现 开发语言&#xff1a;Java框架&#xff1a;springbootJDK版本&#xff1a;JDK1.8数据库工具&#xff1a;Navicat11开发软件&#xff1a;eclipse/myeclipse/idea 系统部分展示 系统功能界面图&#xff0c;在系统首页可以查看首…

GPT-ArcGIS数据处理、空间分析、可视化及多案例综合应用

在数字化和智能化的浪潮中&#xff0c;GIS&#xff08;地理信息系统&#xff09;和GPT&#xff08;生成式预训练模型&#xff09;的结合正日益成为推动科研、城市规划、环境监测等领域发展的关键技术。GIS以其强大的空间数据处理、先进的空间分析工具、灵活的地图制作与可视化能…

Ubuntu22.04 Jammy新装之后apt不起作用

解决问题&#xff1a;Ubuntu22.04 Jammy新装之后apt不起作用 新安装好Ubuntu22.04 Jammy版本后&#xff0c;发现apt无法使用。 先在个人账户里sudo apt search nvidia 没有显示 跑到root账户apt search nvidia 还是没有显示 测试安装wget&#xff1a; rootfb14:/# apt inst…

【bbs02补】注册功能form组件-前端-后端-总结、登录功能(前端、后端、生成验证码)

1 注册功能 1.1 注册功能form组件 1.2 注册功能前端 1.3 注册功能后端 1.4 forms组件和前后端总结 2 登录功能 2.1 登录前端 2.2 生成验证码 1 注册功能 1.1 注册功能form组件 # 注册页面-用户名-密码-确认密码-邮箱-手机号-头像# form组件 可以帮助我们1 快速生成前端页面2 数…

排序算法之希尔排序(缩小增量排序)

希尔排序是插入排序的优化&#xff0c;如果不了解插入排序可以看排序算法之插入排序-CSDN博客这篇博客&#xff0c;希尔排序算法通过对原始数据集使用 gap 分组的方法&#xff0c;先将数据分组进行插入排序&#xff0c;随着排序的进行&#xff0c;逐渐减小 gap 的值&#xff0c…

爬虫自动化之drissionpage实现随时切换代理ip

目录 一、视频二、dp首次启动设置代理三、dp利用插件随时切换代理一、视频 视频直接点击学习SwitchyOmega插件使用其它二、dp首次启动设置代理 from DrissionPage import ChromiumPage, ChromiumOptions from loguru