将代码保存为: xxx.htc
使用方法: <a href="" target="" style="behavior:url(xxx.htc文件路径)">彩虹文字</a> links链接
<a style="behavior:url(xxx.htc文件路径)">彩虹文字</a> 普通文字或段落
- <PUBLIC:COMPONENT URN="rainbow" name="darainbow()"/>
- <PUBLIC:ATTACH EVENT = "oncontentready" ONEVENT ="beginIt()"/>
- <SCRIPT language="JAVASCRIPT">
- var Kill_ID=null;
- var internalValue;
- var originalValue;
- function putValue(){
- element.innerHTML=internalValue;
- encapsulate();
- startSwirl();
- }
- function eventHandler(){
- clearInterval(Kill_ID);
- internalValue=element.value;
- element.detachEvent("onpropertychange",eventHandler);
- if(event.propertyName=="value"){
- element.innerHTML=internalValue;
- putValue();
- } else startSwirl();
- element.attachEvent("onpropertychange",eventHandler);
- }
- function swirl(){
- var I;
- I=ran(internalValue.length-1,0);
- if(element.children(I) != null)element.children(I).style.color=randomColor();
- }
- function startSwirl(){
- if (element.swirlInterval == null)
- element.swirlInterval=50;
- if ((internalValue!=null) && (element.swirlInterval!=0))
- Kill_ID=setInterval(swirl,element.swirlInterval);
- }
- function encapsulate(){
- var I;
- var tempStr="";
- for (I=0; I < internalValue.length; I++){
- tempStr += "<SPAN style="color:"+randomColor()+"">" + internalValue.substr(I,1) + "</SPAN>";
- }
- innerHTML=tempStr;
- }
- function ran(upperbound, lowerbound){
- return(parseInt((upperbound - lowerbound + 1) * Math.random() + lowerbound));
- }
- function randomColor(){
- var R=ran(255,0);
- var G=ran(255,0);
- var B=ran(255,0);
- R=R.toString(16);
- G=G.toString(16);
- B=B.toString(16);
- if (R.length==1)R="0"+R;
- if (G.length==1)G="0"+G;
- if (B.length==1)B="0"+B;
- return("#"+R+G+B);
- }
- function beginIt(){
- internalValue=element.value;
- originalValue=element.innerHTML;
- if (internalValue==null)
- internalValue=element.innerHTML;
- putValue();
- element.attachEvent("onpropertychange",eventHandler);
- }
- function clearIt(){
- clearInterval(Kill_ID);
- element.detachEvent("onpropertychange",eventHandler);
- element.innerHTML=originalValue;
- }
- </script>
复制代码 |