当前位置: 首页 > 图文教程 > 网页制作 > HTML/XHTML教程 > 实现彩色闪烁超链接效果的JS代码

HTML/XHTML教程
你应该知道的CSS的十八个技巧
初学者很好的参考:HTML标签详尽讲解
学习网页标准制作技术之CSS相关基础知识
学习网页标准制作网页之CSS混合布局应用
HTML基础教程:详细学习常用HTML标签的语义
网页设计基础:基本的页面设计元素布局比例
网页制作基础:图像文件的路径知识
html基础系列教程Ⅰ:从p开始,循序渐进
html基础系列教程Ⅱ:丰富段落里的标签
html基础系列教程Ⅲ:用途相似的标签
html基础系列教程Ⅳ:链接与文本标签们
html基础系列教程Ⅴ:美化段落文本Ⅰ
html基础系列教程Ⅵ:美化段落文本Ⅱ
Web标准知识:(X)HTML Strict 下的嵌套规则
Web标准知识:语义与样式无关
Web标准知识:DIV不是万能膏药
web标准知识:当标题不能显示完整的时候
web标准知识:以图换字的几个方法及思路
CSS教程:legend标签设定宽度的技巧
html基础:常用小技巧几例

HTML/XHTML教程 中的 实现彩色闪烁超链接效果的JS代码


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

        有的站点超链接鼠标移上去时有彩色闪烁效果,其实很简单就是调用了一段JS代码而已。
下面就是实现效果所需代码:
<script language="javascript">

var rate = 30;
var object;
var act = 0;
var elmH = 0;
var elmS = 128;
var elmV = 255;
var clrOrg;
var TimerID;

if (navigator.appName.indexOf("Microsoft",0) != -1 && parseInt(navigator.appVersion) >= 4) {
Browser = true;
} else {
Browser = false;
}


function doRainbow()
{
if (Browser && act != 1) {
act = 1;
object = event.srcElement;
clrOrg = object.style.color;
TimerID = setInterval("ChangeColor()",100);
}
}
function stopRainbow()
{
if (Browser && act != 0) {
object.style.color = clrOrg;
clearInterval(TimerID);
act = 0;
}
}
function doRainbowAnchor()
{
if (Browser && act != 1) {
object = event.srcElement;
while (object.tagName != 'A' && object.tagName != 'BODY') {
object = object.parentElement;
if (object.tagName == 'A' || object.tagName == 'BODY')
break;
}
if (object.tagName == 'A' && object.href != '') {
act = 1;
clrOrg = object.style.color;
TimerID = setInterval("ChangeColor()",100);
}
}
}
function stopRainbowAnchor()
{
if (Browser && act != 0) {
if (object.tagName == 'A') {
object.style.color = clrOrg;
clearInterval(TimerID);
act = 0;
}
}
}
function ChangeColor()
{
object.style.color = makeColor();
}
function makeColor()
{
if (elmS == 0) {
elmR = elmV; elmG = elmV; elmB = elmV;
}
else {
t1 = elmV;
t2 = (255 - elmS) * elmV / 255;
t3 = elmH % 60;
t3 = (t1 - t2) * t3 / 60;

if (elmH < 60) {
elmR = t1; elmB = t2; elmG = t2 + t3;
}
else if (elmH < 120) {
elmG = t1; elmB = t2; elmR = t1 - t3;
}
else if (elmH < 180) {
elmG = t1; elmR = t2; elmB = t2 + t3;
}
else if (elmH < 240) {
elmB = t1; elmR = t2; elmG = t1 - t3;
}
else if (elmH < 300) {
elmB = t1; elmG = t2; elmR = t2 + t3;
}
else if (elmH < 360) {
elmR = t1; elmG = t2; elmB = t1 - t3;
}
else {
elmR = 0; elmG = 0; elmB = 0;
}
}
elmR = Math.floor(elmR);
elmG = Math.floor(elmG);
elmB = Math.floor(elmB);
clrRGB = '#' + elmR.toString(16) + elmG.toString(16) + elmB.toString(16);
elmH = elmH + rate;
if (elmH >= 360)
elmH = 0;
return clrRGB;
}
document.onmouseover = doRainbowAnchor;
document.onmouseout = stopRainbowAnchor;
</script>
把上面的代码另存为一个JS文件,然后在想实现此效果的页面调用即可!