>
设为首页
>
收藏本站
>
最新电影
首页
运营资讯
今日英语
图形图像
计算机技术
Asp编程
网站结构化
资源共享
休闲娱乐
访问新站
您现在的位置:
首页
=>
后台技术
=>
脚本特效
=>
文本特效
订阅本栏目
飞舞变形的文字段落
时间: 2007-11-28 11:58:04 阅读次数:1605
飞舞变形的文字段落
<SCRIPT> function morph(e,wait,steps,style,done){ if(e.morphing){ return; } e.morphing = true; e.step = 0; e.done = steps; e.wait = wait; e.morphDone = done; // initialize the given element for the process // save some temporary variables within it var attribs = _eat_attrib(style); if(attribs["top"] != null){ e.deltaTop = Math.round(Number((attribs["top"] - e.style.posTop) / steps)); e.finalTop = attribs["top"]; }else{ e.deltaTop = null; e.finalTop = e.style.posTop; } if(attribs["left"] != null){ e.deltaLeft = Math.round(Number((attribs["left"] - e.style.posLeft) / steps)); e.finalLeft = attribs["left"]; }else{ e.deltaLeft = null; e.finalLeft = e.style.posLeft; } if(attribs["height"] != null){ e.deltaHeight = Math.round(Number((attribs["height"] - e.style.posHeight) / steps)); e.finalHeight = attribs["height"]; }else{ e.deltaHeight = null; e.finalHeight = e.style.posHeight; } if(attribs["width"] != null){ e.deltaWidth = Math.round(Number((attribs["width"] - e.style.posWidth) / steps)); e.finalWidth = attribs["width"]; }else{ e.deltaWidth = null; e.finalWidth = e.style.posWidth; } // group all of the coloring elements together e.colors = new Array(); for(attrib in attribs){ // check each one individually to kludge // if we need to use a "safe" name for the css attribute if(attrib == "background"){ e.colors[e.colors.length] = new Array(); e.colors[e.colors.length - 1].name = attrib; e.colors[e.colors.length - 1].safename = attrib; } if(attrib == "color"){ e.colors[e.colors.length] = new Array(); e.colors[e.colors.length - 1].name = attrib; e.colors[e.colors.length - 1].safename = attrib; } if(attrib == "border-color"){ e.colors[e.colors.length] = new Array(); e.colors[e.colors.length - 1].name = attrib; e.colors[e.colors.length - 1].safename = "borderColor"; } } for(var i=0;i<e.colors.length;i++){ var rgb = _eat_rgb(attribs[e.colors[i].name]); var prergb = _eat_rgb(e.style[e.colors[i].safename]); e.colors[i].delta = _eat_rgb(attribs[e.colors[i].name]); e.colors[i].finish = _eat_rgb(attribs[e.colors[i].name]); e.colors[i].delta["red"] = Math.round(Number((rgb["red"] - prergb["red"]) / steps)); e.colors[i].delta["green"] = Math.round(Number((rgb["green"] - prergb["green"]) / steps)); e.colors[i].delta["blue"] = Math.round(Number((rgb["blue"] - prergb["blue"]) / steps)); } // fire the first morphing step setTimeout("_morphing(document.all." + e.id + ")", wait); } ///////////////////////////// ///////////////////////////// //// private function that does the work of morphing the element function _morphing(e){ e.step++; if(e.deltaTop!=null){ e.style.posTop += e.deltaTop; } if(e.deltaLeft!=null){ e.style.posLeft += e.deltaLeft; } if(e.deltaHeight!=null){ e.style.posHeight += e.deltaHeight; } if(e.deltaWidth!=null){ e.style.posWidth += e.deltaWidth; } for(var i=0;i<e.colors.length;i++){ var rgb = _eat_rgb(e.style[e.colors[i].safename]); e.style[e.colors[i].safename] = "rgb(" + (e.colors[i].delta["red"] + rgb["red"]) + "," + (e.colors[i].delta["green"] + rgb["green"]) + "," + (e.colors[i].delta["blue"] + rgb["blue"]) + ")"; } // do special things when we are done if(e.step == e.done){ if(e.deltaTop != null) e.style.posTop = e.finalTop; if(e.deltaLeft != null) e.style.posLeft = e.finalLeft; if(e.deltaWidth != null) e.style.posWidth = e.finalWidth; if(e.deltaHeight != null) e.style.posHeight = e.finalHeight; for(var i=0;i<e.colors.length;i++){ e.style[e.colors[i].safename] = "rgb(" + (e.colors[i].finish["red"] + rgb["red"]) + "," + (e.colors[i].finish["green"] + rgb["green"]) + "," + (e.colors[i].finish["blue"] + rgb["blue"]) + ")"; } e.morphing = false; eval(e.morphDone); }else{ setTimeout("_morphing(document.all." + e.id + ")", e.wait); } return; } ////////////////// //// util for element attribute parsing //// returns an array of all of the keys = values function _eat_attrib(str){ var chunks = new Array(); var all = new Array(); chunks=str.split(";"); for(var i=0;i<chunks.length;i++){ var tmpA = new Array(); tmpA=chunks[i].split(":"); all[tmpA[0]]=tmpA[1]; } return all; } //////////////////// ////////////////// //// util for style rgb(#,#,#) parsing //// returns an array of red/green/blue = number function _eat_rgb(str){ var all = new Array(); var a = str.indexOf("("); var b = str.indexOf(")"); str = str.substring(a + 1, b); var tmpA = str.split(","); all["red"]=Number(tmpA[0]); all["green"]=Number(tmpA[1]); all["blue"]=Number(tmpA[2]); return all; } //////////////////// </SCRIPT> <body> <SPAN ID="test" STYLE="border:5px solid rgb(0,0,0);color:rgb(255,255,255);position:absolute;top:0;left:0;width:400;height:400;overflow:hidden;background:rgb(0,0,255)"> 欢迎光临 <B>javascript</B> 网页特效站,请多提意见!! </SPAN> <SCRIPT> function rander(){ var top = Math.round(Math.random() * 400); var left = Math.round(Math.random() * 600); var width = Math.round(Math.random() * 200); var height = Math.round(Math.random() * 200); var r = Math.round(Math.random() * 255); var g = Math.round(Math.random() * 255); var b = Math.round(Math.random() * 255); var background = "rgb(" + r + "," + g + "," + b + ")"; var r = Math.round(Math.random() * 255); var g = Math.round(Math.random() * 255); var b = Math.round(Math.random() * 255); var borderColor = "rgb(" + r + "," + g + "," + b + ")"; var r = Math.round(Math.random() * 255); var g = Math.round(Math.random() * 255); var b = Math.round(Math.random() * 255); var color = "rgb(" + r + "," + g + "," + b + ")"; morph(document.all.test,30,20,"top:" + top + ";left:" + left + ";width:" + width + ";height:" + height + ";background:" + background + ";border-color:" + borderColor + ";color:" + color + ";","rander();"); } rander(); </SCRIPT>
提示:您可以先修改部分代码再运行
站内搜索
:
标题
内容
下一篇
360度立体旋转文字
上一篇
字幕滚动效果
本栏目最新
栏目最新列表
用层模拟可移动的小窗口
图片间停式无缝滚动
繁简体文字转换工具
点击会高亮的文字
中文文字的多种排列方式,倒排,倒写竖排,
网站优化策划
栏目最新列表
增加网站外链的快速方法
网站上线前必做的30个检查
新的友情链接参考标准(没有google的PR情况
优化Google的AdSense广告的五个工具
王通讲SEO八大基础
站点最新
站点最新列表
微博推广的一些技巧
xhEditor v1.1.7 发布,
收集的一些轻量级非常实
50个新鲜兼容最新版本的
javascript中cookie的设
Excel中出现#VALUE!、#D
jquery插件:飞飞表情插件
十个使用HTML5开发的精彩
支持HTML5的浏览器有哪些
飞妮莫属:漫画:如何写出
历史最热10条信息
AWStats安装QQ传真IP插件
MIME介绍 及
[
1
] [
2
] [
3
]
巧用Google和迅雷来下载
Transact SQL 常
[
1
] [
2
]
VIA Rhine II Fast Ethe
电脑常用端
[
1
] [
2
] [
3
]
Do you get a kick out
十道羊皮卷 欣赏+mp3版+
每日一句:A friend and
经典__悟透JavaScript
伟哥博客
西安房产
123最新电影
三四六四
关于站点
|
免责声明
|
联系站长
|
网站地图
|
陕ICP备07002804号
WEB技术QQ交流群:72840059
©2007 ffasp.com. 版权所有