首页 新闻 会员 周边 捐助

javascript代码

0
悬赏园豆:200 [已关闭问题]

看不懂以下代码,高手们能帮忙注释下吗?急...

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>文字精彩不断变色特效</title>
<style>
<!--
td{  font-size:9pt; color:#333333; line-height:140%}
body{  font-size:9pt; color:#333333; line-height:140%;}
a:link          { color: #333333; text-decoration: none }
a:visited       { color: #333333; text-decoration: none }
a:active        { color: #cc0000; text-decoration: none }
a:hover         { color: #cc0000; text-decoration: none}
-->
</style>
</head>
<body>
<script language="javascript" type="text/javascript">
<!--
function enHex(aDigit)
{
    return("0123456789ABCDEF".substring(aDigit, aDigit+1))
}
function deHex(aDigit)
{
    return("0123456789ABCDEF".indexOf(aDigit))
}

function toHex(n)
{
    return (enHex((0xf00000 & n) >> 20) +
            enHex((0x0f0000 & n) >> 16) +
            enHex((0x00f000 & n) >> 12) +
            enHex((0x000f00 & n) >>  8) +
            enHex((0x0000f0 & n) >>  4) +
            enHex((0x00000f & n) >>  0))
}
function toDecimal(hexNum)
{
    var tmp = ""+hexNum.toUpperCase()
    while (tmp.length < 6) tmp = "0"+tmp
    return ((deHex(tmp.substring(0,1)) << 20) +
            (deHex(tmp.substring(1,2)) << 16) +
            (deHex(tmp.substring(2,3)) << 12) +
            (deHex(tmp.substring(3,4)) << 8) +
            (deHex(tmp.substring(4,5)) << 4) +
            (deHex(tmp.substring(5,6))))
}
//all by www.qpsh.com
var hoverColour
var numLinks;
var rate;
var numFadeLevels;
var bgR;
var bgG;
var bgB;
var currR;
var currG;
var currB;
var count;
var fadeOut;
var continuous;
var newColour;
var tID;
var redInterval;
var greenInterval;
var blueInterval;
function initLinks(mouseOverColour, numberOfLinks, fadeOutColour)
{
 hoverColour = mouseOverColour;
 numLinks = numberOfLinks;
 rate = 1;
 numFadeLevels = 30;
 function initArray(theArray, length, val)
 {
  for(i=0;i<length;i++)
  {
   theArray[i] = val;
  }
 }
 bgR = '0000' + fadeOutColour.substring(1,3)
 bgG = '0000' + fadeOutColour.substring(3,5)
 bgB = '0000' + fadeOutColour.substring(5,7)
 currR = new Array(numLinks);
 currG = new Array(numLinks);
 currB = new Array(numLinks);
 count = new Array(numLinks);
 fadeOut = new Array(numLinks);
 continuous = new Array(numLinks);
 newColour = new Array(numLinks);
 tID = new Array(numLinks);
 redInterval = toDecimal(bgR) / numFadeLevels;
 greenInterval = toDecimal(bgG) / numFadeLevels;
 blueInterval = toDecimal(bgB) / numFadeLevels;
 initArray(currR,numLinks,0);
 initArray(currG,numLinks,0);
 initArray(currB,numLinks,0);
 initArray(count,numLinks,0);
 initArray(fadeOut,numLinks,true);
 initArray(continuous,numLinks,true);

function startFade(id)
{
 if(fadeOut[id] == true)
 { /*by www.qpsh.com*/
  currR[id] += redInterval;
  currG[id] += greenInterval;
  currB[id] += blueInterval;
  newColour[id] = '#' + (toHex(currR[id])).substring(4,6) + (toHex(currG[id])).substring(4,6) + (toHex(currB[id])).substring(4,6);
  if(++count[id] == numFadeLevels)
  {
   fadeOut[id] = false;
  }
 }
 else
 {
  currR[id] -= redInterval;

  currG[id] -= greenInterval;

  currB[id] -= blueInterval;

  newColour[id] = '#' + (toHex(currR[id])).substring(4,6) + (toHex(currG[id])).substring(4,6) + (toHex(currB[id])).substring(4,6);

  if(--count[id] == 0)

  {

   fadeOut[id] = true;

  }

 }

 if(continuous[id] == true)

 {

  document.getElementById(id).style.color = newColour[id]; 

 }

 else

 {

  document.getElementById(id).style.color = hoverColour;

 }

 clearTimeout(tID[id]);

 tID[id]=setTimeout('startFade(' + id + ')', rate);

}

function continueFade(id)

{

 continuous[id] = true;

}

function stopFade(id)

{

 continuous[id] = false;

}

function StartTimers()

{ //all by www.qpsh.com

 for(id=0; id<numLinks; id++)

 {

  t=setTimeout('startFade(' + id + ')', id*100);

 }

}

//all by www.qpsh.com

initLinks('#FF0000', 6, '#FFCC77');
//-->

</script>
<a class="links" id="0" onmouseover="stopFade('0');" onmouseout="continueFade('0');" href="http://www.qpsh.com/">网页特效是用程序代码在网页中实现特殊效果或者特殊功能的一种技术</a>
<br>
<a class="links" id="1" onmouseover="stopFade('1');" onmouseout="continueFade('1');" href="http://www.qpsh.com/">它为网页活跃了气氛,增加了网站的亲和力</a>
<br>
<a class="links" id="2" onmouseover="stopFade('2');" onmouseout="continueFade('2');" href="http://www.qpsh.com/">一般在你想添加特效的地方直接粘贴特效代码即可</a>
<br> 
<a class="links" id="3" onmouseover="stopFade('3');" onmouseout="continueFade('3');" href="http://www.qpsh.com/">有些特殊的代码还需要在别的地方添加其他代码</a>
<br>
<a class="links" id="4" onmouseover="stopFade('4');" onmouseout="continueFade('4');" href="http://www.qpsh.com/">在本站下载的特效代码,都有详细说明,按说明使用即可</a>

<script language="javascript" type="text/javascript">
<!--
setTimeout('StartTimers()', 1000); //this all by www.qpsh.com
//-->
</script>
</body>

</html>

 

问题补充: 能分析说明下这样的效果是怎样实现的吗...
fry的主页 fry | 初学一级 | 园豆:0
提问于:2009-12-29 20:24
< >
分享
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册