网页之文字的循环闪动特效
<script language="javascript" type="text/javascript"><!--0Vn'C:`$p,Z
// convert a single digit (0 - 16) into hexdu#c:e NAx*B JU(d
function enHex(aDigit)
{
return("0123456789ABCDEF".substring(aDigit, aDigit+1))
}
// convert a hex digit into decimal
function deHex(aDigit)MIw$Iqx
{+ES_F@4Q"\P$B
return("0123456789ABCDEF".indexOf(aDigit))
}
// Convert a 24bit number to hex
function toHex(n)
{` Mr1OoR)Z!w0Q ^
return (enHex((0xf00000 & n) >> 20) +V y?bVs
enHex((0x0f0000 & n) >> 16) +
enHex((0x00f000 & n) >> 12) +
enHex((0x000f00 & n) >> 8) +Xf Z.c+DI k Qr
enHex((0x0000f0 & n) >> 4) +
enHex((0x00000f & n) >> 0))
} ^ ZP;`^2p2{ op:}o
// Convert a six character hex to decimal7d7ow"kPa/Qv)eI
function toDecimal(hexNum)K^g2BU
{
var tmp = ""+hexNum.toUpperCase()
while (tmp.length < 6) tmp = "0"+tmp-J bsV&c&iX`k
return ((deHex(tmp.substring(0,1)) << 20) +*?e:jB hB ?
(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))))6aB6o/[ ?6\
}^J#Os|J_aV-b@
///////////////////Shimmering Links///////////////////// QX l_(gg;r N#em
//global variables
var hoverColour-a rkrE+[m(n N8|/oR
var numLinks;c+K%Op t$[\
var rate;Hlg7k^-A$DF _
var numFadeLevels;
var bgR;i r,P D(NQAaByF
var bgG;
var bgB;? fd[+h
var currR;(h;V1K]$u$fw8n5\ v
var currG;$Rp8b d%[L'BLc
var currB;
var count;
var fadeOut;~S2[W"vz7q:^
var continuous;
var newColour;
var tID;
var redInterval;Y0Ao3foxh
var greenInterval;!W%fo8yBr;a
var blueInterval;I%j~#kF(h
function initLinks(mouseOverColour, numberOfLinks, fadeOutColour)9YD%Gkaj5R.o
{
hoverColour = mouseOverColour;5S*H/lA:Z:z@gc
numLinks = numberOfLinks;8D?gezc'K
rate = 1;_3^N^Z\
numFadeLevels = 30;#M]t qdN
function initArray(theArray, length, val)
{D6?$r Q\lB
for(i=0;i<length;i++)
{3k-wx~h*cw
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);v,A(MpN*T8I!N
count = new Array(numLinks); hZM'b l+A
fadeOut = new Array(numLinks);
continuous = new Array(numLinks);
newColour = new Array(numLinks);
tID = new Array(numLinks);-JI!VE7yU
redInterval = toDecimal(bgR) / numFadeLevels;
greenInterval = toDecimal(bgG) / numFadeLevels;!g;H {0L6qlw Z
blueInterval = toDecimal(bgB) / numFadeLevels;uvK]!jU
initArray(currR,numLinks,0);
initArray(currG,numLinks,0);EP6B1a(x)vVx
initArray(currB,numLinks,0);c"ZP|H#u
initArray(count,numLinks,0);"T}+A3Q+?8hRd6Y
initArray(fadeOut,numLinks,true);
initArray(continuous,numLinks,true);
}
function startFade(id)
{bK^5t?bl
if(fadeOut[id] == true)&tPv|)a#F
{ /*move colour towards background colour (increment)*/
currR[id] += redInterval;
currG[id] += greenInterval;S/xshb)[ d|
currB[id] += blueInterval;WRi#oc&e&~2H8Y
newColour[id] = '#' + (toHex(currR[id])).substring(4,6) + (toHex(currG[id])).substring(4,6) + (toHex(currB[id])).substring(4,6);
if(++count[id] == numFadeLevels)a-m1GE5[+uoT
{p3Z9mq#l!Y A!P;p!i
fadeOut[id] = false;L._?;g1ZvG4c s;|
}6bQ%s["d!Q;xH
}
else"oN%b6v0Xa|
{
currR[id] -= redInterval;j AhwO'_Qa
currG[id] -= greenInterval;
U~~ zVg0u3u
currB[id] -= blueInterval;G!rYEh
newColour[id] = '#' + (toHex(currR[id])).substring(4,6) + (toHex(currG[id])).substring(4,6) + (toHex(currB[id])).substring(4,6);$n${x/u-{{[f}C2x
if(--count[id] == 0)[ Z8c,p"Fo,R2q5m4hY b
V(W0i5p'Zye4D
{
fadeOut[id] = true;up _;D!pL{)R
Dv^zd/pf
}
}
if(continuous[id] == true)
{
]wyw~n[
document.getElementById(id).style.color = newColour[id]; -Jn;A kl4fb Mz
_EH#xqT I7g
}
else
{"hJ Y3|D9Q
document.getElementById(id).style.color = hoverColour;
}