标题:一个非常有趣的链接特效
取消只看楼主
longziyong
Rank: 2
来 自:四川省威远县
等 级:禁止访问
帖 子:77
专家分:23
注 册:2007-8-22
 问题点数:0 回复次数:2 
一个非常有趣的链接特效
一个很有趣的链接特效,就是当你把鼠标放在链接文字上时,文字会不断的变换颜色。我觉得效果不错,在这里给大家推荐一下。你只需要把下面的脚本粘贴到源文件中即可,其他不用设置什么。

<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.]http://www.[/url]
[/bold]
搜索更多相关主题的帖子: 特效 链接 
2007-12-08 14:51
longziyong
Rank: 2
来 自:四川省威远县
等 级:禁止访问
帖 子:77
专家分:23
注 册:2007-8-22
得分:0 
哈哈,不是我写的,好东西谁都可以用撒,网络上的东东本来就应该大家分享嘛。

LZY'Blog http://www.
2007-12-28 11:39
longziyong
Rank: 2
来 自:四川省威远县
等 级:禁止访问
帖 子:77
专家分:23
注 册:2007-8-22
得分:0 
开始和结束中过渡的颜色有的太刺眼了.
   要修改过渡中的颜色,我想只有在生成颜色的函数中把不要的颜色过滤掉,不过这样会增加很多代码,也提高难度了。

LZY'Blog http://www.
2008-01-22 20:12



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-191160-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.328250 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved