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

HTML/XHTML教程
标记语言:为
将XHTML CSS页面转换为打印机页面
robots.txt详细介绍
HTML和CSS在Flash中的应用
html sub标记和sup标记
HTML 超级链接详细讲解
网页制作前先来看看这些所谓的规范
HTML iframe 用法总结收藏
HTML5 Canvas 起步(2) - 路径
XHTML1.0与HTML兼容指引16条 小结
有效网页表单的八条规则
html pre标记里内容自动换行
设计师 需要学习编写代码吗
使用整洁的HTML标记构建页面
img usemap属性 中国地图链接
HTML5 Canvas标签使用收录
HTML&CSS&JS兼容树(IE,Firefox,chrome)
用js互相调用iframe页面内的js函数
网页制作基础 声明文档类型描述(DTD
HTML5 CSS3新的WEB标准和浏览器支持

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-04   浏览: 136 ::
收藏到网摘: 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文件,然后在想实现此效果的页面调用即可!