案例:Javascript与CSS的综合运用•颜色渐变的文字

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />

<title>颜色渐变的文字</title>

<script language="javascript">

<!--计算每个字的变化量-->

function Delta(sHex1,sHex2,iNum){//sHex1sHex216进制的颜色代码,iNum为整段文字长度

var iHex1=parseInt("0x"+sHex1);//parseInt() 函数可解析一个字符串,并返回一个整数。将16进制的颜色代码转为10进制

var iHex2=parseInt("0x"+sHex2);

return(iHex2-iHex1)/(iNum-1);

}

function Colorful(sText,sColor1,sColor2){//sText:正文;sColor1:起始颜色;sColor2:结束颜色

<!--如果只有1个字符,渐变无从谈起,直接输出并返回-->

if(sText.length<=1){

document.write("<font style='color:#"+sColor1+"';>"+sText+"</font>");

return;

}

 

var fDeltaR=Delta(sColor1.substring(0,2),sColor2.substring(0,2),sText.length);//substring() 方法用于提取字符串中介于两个指定下标之间的字符。计算R值的变化量

var fDeltaG=Delta(sColor1.substring(2,4),sColor2.substring(2,4),sText.length);

var fDeltaB=Delta(sColor1.substring(4,6),sColor2.substring(4,6),sText.length);

var sColorR=parseInt("0x"+sColor1.substring(0,2));//sColor1转为10进制

var sColorG=parseInt("0x"+sColor1.substring(2,4));

var sColorB=parseInt("0x"+sColor1.substring(4,6));

 

<!--for循环,每输出一个字符,颜色的3个分量都相应变化-->

for(var i=0;i<sText.length;i++){

document.write("<font style='color:rgb("+Math.round(sColorR)+","+Math.round(sColorG)+","+Math.round(sColorB)+")';>"+sText.substring(i,i+1)+"</font>");

sColorR+=fDeltaR;//sColorR=sColorR+fDeltaR:R+变化量

sColorG+=fDeltaG;

sColorB+=fDeltaB;

}

}

Colorful("春节(Spring Festival)中国民间最隆重最富有特色的传统节日。","FF3300","3366FF");

</script>

</head>

<body>

</body>

</html>

 

运行结果:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值