| 编程中国 | 业界新闻 | 技术文章 | 视频教程 | 下载频道 | 程序源码 | 个人空间 | 编程论坛
全能ASP/PHP/ASP.NET主机,支持月付专业 MSSQL 数据库空间,支持月付专业 MySQL 数据库空间,支持月付学习型 ASP/PHP/ASP.NET 主机 30元/年
高端软件开发 = 年薪十万不是梦赛孚耐:软件保护加密专家身份认证令牌USB KEY 
共有 2033 人关注过本帖
标题:一个非常有趣的链接特效
收藏  订阅  推荐  打印 
longziyong
Rank: 2
来自:四川省威远县
等级:注册会员
帖子:64
积分:758
注册:2007-8-22
一个非常有趣的链接特效

一个很有趣的链接特效,就是当你把鼠标放在链接文字上时,文字会不断的变换颜色。我觉得效果不错,在这里给大家推荐一下。你只需要把下面的脚本粘贴到源文件中即可,其他不用设置什么。

<script language="javascript">
var rate = 20;
var obj;
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;
}

if (Browser) {
  document.onmouseover = doRainbowAnchor;
  document.onmouseout = stopRainbowAnchor;
}

function doRainbow() {
  if (Browser && act != 1) {

   act = 1;
    obj = event.srcElement;
    clrOrg = obj.style.color;
    TimerID = setInterval("ChangeColor()",100);
  }
}

function stopRainbow() {
  if (Browser && act != 0) {
    obj.style.color = clrOrg;
    clearInterval(TimerID);
    act = 0;
  }
}

function doRainbowAnchor() {
  if (Browser && act != 1) {
    obj = event.srcElement;
    while (obj.tagName != 'A' && obj.tagName != 'BODY') {
      obj = obj.parentElement;
      if (obj.tagName == 'A' || obj.tagName == 'BODY')
        break;
    }
    if (obj.tagName == 'A' && obj.href != '') {
      act = 1;
      clrOrg = obj.style.color;
      TimerID = setInterval("ChangeColor()",100);
    }
  }
}

function stopRainbowAnchor() {
  if (Browser && act != 0) {
    if (obj.tagName == 'A') {
      obj.style.color = clrOrg;
      clearInterval(TimerID);
      act = 0;
    }
  }
}

function ChangeColor() {
  obj.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;
}
</script>

[bold]
运行效果,看看我的主页嘛,首页上的每一个链接都会变色。[url=http://www.pdfbbs.com/]http://www.pdfbbs.com[/url]
[/bold]
搜索更多相关主题的帖子: 特效  链接  
2007-12-8 14:51
luo123
Rank: 3Rank: 3
等级:中级会员
威望:2
帖子:318
积分:3532
注册:2007-4-13

顶一个

http://passncre.cn    计算机编程网
http://linshaoxin.go.51.net/    ps爱好者群
2007-12-9 18:51
那边有朵蘑菇云
Rank: 3Rank: 3
来自:很……那啥的一个地方
等级:中级会员
威望:1
帖子:390
积分:4024
注册:2007-9-3

不错 挺漂亮的 问下 是你自己的写的吗?高手教下

身不残 志更不坚
2007-12-12 11:53
longziyong
Rank: 2
来自:四川省威远县
等级:注册会员
帖子:64
积分:758
注册:2007-8-22

哈哈,不是我写的,好东西谁都可以用撒,网络上的东东本来就应该大家分享嘛。

威龙网: http://www.pdfbbs.com
汇编教程|汇编程序实例|Java教程|JAVA实例|C教程|C实例
2007-12-28 11:39
yxxhack
Rank: 3Rank: 3
来自:河北
等级:中级会员
帖子:252
积分:2694
注册:2007-12-22

看看.......

岁月锋利,时间是最致命的武器.
2007-12-28 15:04
lele2007
Rank: 4
来自:广东省清远市
等级:高级会员
帖子:484
积分:5274
注册:2007-9-4

好!收藏了!日后用!

学建网站www.lele1988.cn
2007-12-28 18:34
xinxue
Rank: 2
等级:注册会员
帖子:125
积分:1442
注册:2006-2-28

收藏了,挺好的.
2008-1-5 19:35
tent
Rank: 1
等级:新手上路
帖子:18
积分:296
注册:2008-1-7

不错,把变的颜色再改一下就更好了.
开始和结束中过渡的颜色有的太刺眼了.
2008-1-8 10:35
longziyong
Rank: 2
来自:四川省威远县
等级:注册会员
帖子:64
积分:758
注册:2007-8-22

开始和结束中过渡的颜色有的太刺眼了.
   要修改过渡中的颜色,我想只有在生成颜色的函数中把不要的颜色过滤掉,不过这样会增加很多代码,也提高难度了。

威龙网: http://www.pdfbbs.com
汇编教程|汇编程序实例|Java教程|JAVA实例|C教程|C实例
2008-1-22 20:12
gld235
Rank: 1
等级:新手上路
帖子:2
积分:122
注册:2007-3-8

往哪儿放啊?
2008-2-5 20:20
关于我们 | 广告合作 | 编程中国 | 清除Cookies | Archiver | WAP | TOP

编程中国 版权所有,并保留所有权利。鲁ICP备08000592号
Powered by Discuz, Processed in 0.050167 second(s), 9 queries.
Copyright©2004-2008, BCCN.NET, All Rights Reserved