發新話題

《教學》漂亮的彩色字是這樣製作生成的!

《教學》漂亮的彩色字是這樣製作生成的!

定義字體風格
複製內容到剪貼板
代碼:
<font style='behavior:url(font.htc);'>自選風格</font>
而font.htc文件裡面的代碼為:
複製內容到剪貼板
代碼:
<PUBLIC:COMPONENT URN="rainbow" name="darainbow()"/>
<PUBLIC:ATTACH  EVENT = "oncontentready" ONEVENT ="beginIt()"/>
<SCRIPT language="J***ASCRIPT">
var Kill_ID=null;
var internalValue;
var originalValue;
function putValue(){
     element.innerHTML=internalValue;
     encapsulate();
     startSwirl();
}
function eventHandler(){
     clearInterval(Kill_ID);
     internalvalue="/blog/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="/blog/element.value;
"    originalvalue="/blog/element.innerHTML;
"    if (internalValue==null)
           internalvalue="/blog/element.innerHTML;
"    putValue();
     element.attachEvent("onpropertychange",eventHandler);
}
function clearIt(){
     clearInterval(Kill_ID);
     element.detachEvent("onpropertychange",eventHandler);
     element.innerHTML=originalValue;
}
</script>
如果是論壇的話就直接加為[hight]文字[/hight]

[ 本帖最後由 蔡逸竹 於 2006-11-7 21:44 編輯 ]

TOP

發新話題

本站所有圖文均屬網友發表,僅代表作者的觀點與本站無關,如有侵權請通知版主會盡快刪除。