js Clip奇思妙想之多彩漸變字效果

 更新時間:2008年11月02日 00:17:30   作者:   我要評論
本篇我們用同樣的原理,把文字用CLIP屬性分的更細,分別著色,然后組合到一起,實現自左到右更精確的色彩漸變。問題是文字細化分割需要用到很多很多個元素,所以這里我們要用程序來控制,自動生成這些元素。
之前用Clip屬性實現了文字上下兩半不同色彩的拼接。
多彩漸變字,兼容所有主流瀏覽器。
頁面JS當中真正有用的只有colorful()函數:
復制代碼 代碼如下:

function colorful(obj,font,r,g,b,type){
var boxObj;
if(typeof(obj)=="string"||typeof(obj)=="number"){
boxObj = document.getElementById(obj);
}else{
boxObj = obj;
}
boxObj.innerHTML="<a href='#'>"+font+"</a>";
var num = boxObj.getElementsByTagName("a")[0].scrollWidth;
boxObj.innerHTML="";
for(var i=0;i<=num;i++){
var j=i+1;
var c=Math.round(255/num*i);
switch(Number(type)){
case 0:r=c;g=c;b=c;break;
case 1:r=c;break;
case 2:g=c;break;
case 3:b=c;break;
}
var iObj = document.createElement("A");
iObj.innerHTML=font;
iObj.style.clip="rect(auto "+j+"px auto "+i+"px)";
iObj.style.color="rgb("+r+","+g+","+b+")";
iObj.href="#";
boxObj.appendChild(iObj);
}
}


[Ctrl+A 全選 注:如需引入外部Js需刷新才能執行]

雖然IE有自己的漸變濾鏡,但其他瀏覽器都不支持。CLIP屬性的應用可以支持所有瀏覽器!通過程序,我們可以輕松地給每個文字副本添加CLIP屬性將一段文字分割成一個一個像素,分別著色,最后組合到一起,實現多彩漸變!

相關文章

最新評論