JavaScript小实例-文本循环变色效果

在现实生活中我们常常看到文字循环变色的效果,此效果不仅能让人们印象深刻,还提高了美观度,代码及注释如下:

<!DOCTYPE html> 
<html> 
<head> 
<meta charset="utf-8"> 
<meta name="author" content="http://www.softwhy.com/" /> 
<title>是壳哥呀!</title> 
<style type="text/css">
    body{background: mediumpurple;}
</style>
<script type="text/javascript"> 
//所使用的的字符串 var message="不管你是飒飒、绒绒、卷儿、炸炸等,一剪子下去都变我壳哥!!!"; // 设置文字的最初颜色。 var baseColor="gold"; // 设置变化的颜色 var textColor="aqua"; // 变色文字后面跟着的文字的颜色 var secondTextColor="lawngreen"; // 设置定时器的间隔时间 var speed=200; // 设置初次变色文字的个数 var letters=6; // 设置跟在后面要变色的文字的个数 var secondLetters=4; // 延迟执行的时间 var pause=0; // 声明一个变量,并赋初值为0 var count=0; // 定时器的返回值 var timer=null; // 遍历每一个字符串,然后给每一个字符外面嵌套一个span元素,并设置span元素的id属性值 for(m=0;m<message.length;m++){ document.write('<span id="light'+m+'">'+message.charAt(m)+'</span>'); } // 封装一个类似于jQuery的id选择器 function $(id){ return document.getElementById(id); } // 核心 function done(){ // 刚加载代码执行,设置所有span元素的字体颜色 if(count==0){ for(var m=0;m<message.length;m++){ $("light"+m).style.color=baseColor; } } // 设置对应索引的span元素的字体颜色 $("light"+count).style.color=textColor; // 如果count的值大于letters-1,则将变色的前一个字符的颜色设置为secondTextColor if(count>letters-1){ $("light"+(count-letters)).style.color=secondTextColor; } // 判断,变蓝的个数超出secondletters,则将超出部分颜色设置为初始颜色 if(count>(letters+secondLetters)-1){ $("light"+(count-letters-secondLetters)).style.color=baseColor; } // count的值小于字符串字符的最大索引值,则count加1, // 否则count重置为0,然后停止定时器函数的执行 if(count<message.length-1){ count++ } else{ count=0 clearInterval(timer) // 指定延迟时间之后再开始执行函数begindone() setTimeout("begindone()",pause) return } } function begindone(){ timer=setInterval("done()",speed); } window.onload=function(){ begindone(); } </script> </head> <body> <div> </div> </body> </html>

 

转载于:https://www.cnblogs.com/hcy08042/p/11568307.html

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值