当前位置: 首页 > 图文教程 > 网络编程 > Javascript > js Clip奇思妙想之多彩渐变字效果

Javascript
javascript中的有名函数和无名函数
javascript[js]获取url参数的代码
javascript select 之间传值效果的代码
js正则实现的密码框简单制作,还可以替换成自己想用得符号
脚本控制自适应高度的缩短问题
兼容ie和firefox版本的js反选 全选 多选框
javascript 随机数 与高级应用 附vbscript(asp) 随机数总结
不用确认即可打印的javascript代码
推荐自用 Javascript 缩图函数 (onDOMLoaded)……
用javascript实现div可编辑的常见方法
用JavaScript实现的一个IP地址输入框
用javascript取得传递参数的个数的代码
当鼠标移出灰色区域时候,菜单项怎么隐藏起来
才发现的超链接js导致网页中GIF动画停止的解决方法
javascript window.onerror事件学习新收获
javascript 如何生成不重复的随机数
超个性的导航效果
不能再简单的无闪刷新验证码原理很简单
经常用到的javascript验证函数收集
用js实现手把手教你月入万刀(转贴)

Javascript 中的 js Clip奇思妙想之多彩渐变字效果


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-12   浏览: 146 ::
收藏到网摘: n/a

本篇我们用同样的原理,把文字用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 全选 提示:你可先修改部分代码,再按运行]

虽然IE有自己的渐变滤镜,但其他浏览器都不支持。CLIP属性的应用可以支持所有浏览器!通过程序,我们可以轻松地给每个文字副本添加CLIP属性将一段文字分割成一个一个像素,分别着色,最后组合到一起,实现多彩渐变!