<script language="javascript" type="text/javascript">1 m3 X [: \, ?, X
<!--" ~' H6 p$ L# t) N! o+ P+ b6 P
// convert a single digit (0 - 16) into hex : D- A) z* K% j# ~' G. ^function enHex(aDigit)$ H- E Z1 D7 C2 E3 B
{ \/ L* g, j" ~6 K& H
return("0123456789ABCDEF".substring(aDigit, aDigit+1)) * K' Z. w0 j5 v}. `7 Q* i! z# q& ]6 }, v
// convert a hex digit into decimal, ]) q% J& r0 F5 m0 R( V8 c: r, m* c
function deHex(aDigit) ) W4 p6 I! W# J7 B' M( T. [8 ~{. B( H: q( x. j& ?7 K
return("0123456789ABCDEF".indexOf(aDigit)) 8 O% W9 V$ z1 |" U, Q: `, M* |} 3 z0 _3 d- \2 B4 ]" v1 k! j( ~; E/ j$ |6 Z$ E+ \: h9 W
// Convert a 24bit number to hex / A) W: i/ {* W |! t) v* Sfunction toHex(n)4 U& I; l: g/ R* F z9 O
{7 Q0 L! d0 t' h
return (enHex((0xf00000 & n) >> 20) +/ E0 P9 V) F9 }' f
enHex((0x0f0000 & n) >> 16) + . d) H$ v2 b7 J( h) i2 r enHex((0x00f000 & n) >> 12) +, R1 \0 ?+ z7 x1 A2 _
enHex((0x000f00 & n) >> 8) +0 ?# I" m. `% G7 V o% d9 Q
enHex((0x0000f0 & n) >> 4) +; S1 }% |3 s. D, A! f
enHex((0x00000f & n) >> 0)); l' I1 M% k v
}; a& T' R2 a* Y! a5 m
// Convert a six character hex to decimal 8 u( b- B5 k* ]- p, [$ Q9 q' ^: f4 Hfunction toDecimal(hexNum) 1 w, w- S: P4 y0 |% J{ # J& `" Y; M' g# m4 p+ H# S% z var tmp = ""+hexNum.toUpperCase() 7 {* H( ?4 e1 Y2 \/ A while (tmp.length < 6) tmp = "0"+tmp5 Q x# W5 V/ [7 ?$ d
return ((deHex(tmp.substring(0,1)) << 20) +5 k6 K' Y% f1 ~* a
(deHex(tmp.substring(1,2)) << 16) + ! H4 _& }/ r4 K2 H (deHex(tmp.substring(2,3)) << 12) +4 r3 a' {& e5 M/ q
(deHex(tmp.substring(3,4)) << 8) +5 a7 I; H$ B4 r" y& I; M
(deHex(tmp.substring(4,5)) << 4) +$ D/ I8 x% h: r, j1 ]
(deHex(tmp.substring(5,6)))) " ~9 k9 S1 b4 M% J! n0 V9 j; M} 8 Y+ V1 m2 a7 C5 r' B///////////////////Shimmering Links/////////////////////9 Z1 V7 k6 A$ g: k
//global variables, \9 Y* k: S) O) |9 k1 K! l! C
var hoverColour9 Q! r3 w6 Q- v( ]5 \7 g" ^
var numLinks;4 j" T7 v* P4 u9 @
var rate;% F. n r' A( t$ K/ {# ^4 [. \
var numFadeLevels; + z. m8 [1 o$ x, [var bgR; 9 x- \. ^9 q. U% u) evar bgG;# N( A2 V" w3 j8 b9 m- v+ B! J& A
var bgB;. M' L# G" E# z8 H A0 j
var currR;. l' t8 i( @ {2 p9 a3 k- e+ w( `
var currG;9 I5 |2 D! s) L7 v. `
var currB;, M- |0 k0 ?0 Y, f0 r; J
var count;+ Y- ]1 T! D+ p6 N! [4 l5 b: W
var fadeOut; ; G( G/ v4 k+ i- qvar continuous;0 H3 T; T7 p0 D0 ]
var newColour; ! k5 u% N+ M7 Y, u+ }' ^$ ?var tID; " z! u) w6 {/ D v' |/ {& t$ Rvar redInterval; 2 W$ v- P9 y+ D. H0 Rvar greenInterval; + X- S' R, }9 G( A2 y9 j {9 zvar blueInterval; # o. r- {8 q) h7 F6 N' C' d; dfunction initLinks(mouseOverColour, numberOfLinks, fadeOutColour) $ ?3 z/ M6 o5 d' y" a; X% s$ C{ $ s9 X/ _. @$ [, t- n hoverColour = mouseOverColour; 9 n8 D; V" g' Q- J! w' O numLinks = numberOfLinks;6 h3 k4 t/ S2 U+ X
rate = 1; & Y3 d) N2 R, {8 g* u) U, Y8 b3 Z. I numFadeLevels = 30; $ a( O ~# {! H3 F& \0 J function initArray(theArray, length, val) / Z. |$ u4 ]6 n0 @ {/ n7 b5 _, C) z! T/ B
for(i=0;i<length;i++); j6 ?' z7 x; C0 E6 w. i
{# \1 P$ z; ]4 R7 K& i2 q& _8 m
theArray = val; ; q+ {7 X. [" }* b4 M& F! x5 @ } + o) u$ x4 K3 J# ] }' {# U$ y" W- W! @' _
bgR = '0000' + fadeOutColour.substring(1,3)* V( `2 e( Z5 l: _9 ~
bgG = '0000' + fadeOutColour.substring(3,5) 7 \9 P; s& ~$ `9 m% s bgB = '0000' + fadeOutColour.substring(5,7)8 {* w+ Z% t4 Q9 c
currR = new Array(numLinks); h. Z+ I. U" i currG = new Array(numLinks); * e( S4 C3 z2 m currB = new Array(numLinks);# k6 M0 e, J. N, [6 g& e
count = new Array(numLinks);+ ^7 t2 s; N' d. E! g9 [- c- V
fadeOut = new Array(numLinks); & Q& h0 d) s- w# d" m' `. w, i continuous = new Array(numLinks);6 z$ F, l1 a3 j+ ^- g; O- g
newColour = new Array(numLinks);! J( T* q" G; z/ _/ }5 v
tID = new Array(numLinks);% H4 I8 O* h" e; r
redInterval = toDecimal(bgR) / numFadeLevels; B+ N. ^4 ^, H# r3 P, c
greenInterval = toDecimal(bgG) / numFadeLevels;) j2 p6 b! j7 B7 a0 r) T
blueInterval = toDecimal(bgB) / numFadeLevels; 1 ?: z- O1 c; K9 b! M; t initArray(currR,numLinks,0);) d& i. j5 n$ Y& k5 }
initArray(currG,numLinks,0);* p) G8 @0 l l5 }) m% k/ _5 U" V) C
initArray(currB,numLinks,0); 4 e+ x* \3 t; S, } initArray(count,numLinks,0);5 @$ g$ @* J# n9 W- {/ [& k
initArray(fadeOut,numLinks,true); w8 c7 M; [1 [ initArray(continuous,numLinks,true);* w2 v2 s0 t7 `4 U. U- J
} 4 h: J6 g* W0 E$ i0 D) N7 }- P3 Yfunction startFade(id) & z @1 P4 z5 u: o6 ]" P{) C' a, T0 b$ l9 t
if(fadeOut[id] == true) % J! X Y7 i" G, @$ k- e { /*move colour towards background colour (increment)*/' j# X; [$ Q1 r3 X0 W8 m
currR[id] += redInterval;* @2 R5 m6 @4 G i
currG[id] += greenInterval; 9 q1 J8 t4 a! N1 S currB[id] += blueInterval;% l: ~) t" b R7 c
newColour[id] = '#' + (toHex(currR[id])).substring(4,6) + (toHex(currG[id])).substring(4,6) + (toHex(currB[id])).substring(4,6);9 V. x8 c; m+ A6 N& E. [1 N
if(++count[id] == numFadeLevels). ]7 ?4 H& l+ n
{0 o& X# t- H" r
fadeOut[id] = false;' @. T- }+ k9 q# D
} $ d7 ?* h& @* O @0 S }! Q3 M( E7 ~% ^& Q
else ; W4 R; R& ]4 B# Y% e { m5 p1 |* u" h! n+ h* b) K
currR[id] -= redInterval; 7 L* ]9 g' K. Q8 S, W" w6 @$ M3 }2 f) a [+ s& B" s# v
currG[id] -= greenInterval; ; }2 X* F1 n6 h" L8 s/ v5 M$ T* w( s9 }- [9 ^' ?
currB[id] -= blueInterval; # i* D7 u# v' o* o% u$ q: D7 C" `9 b7 I( P+ v5 r7 i: c1 p+ s
newColour[id] = '#' + (toHex(currR[id])).substring(4,6) + (toHex(currG[id])).substring(4,6) + (toHex(currB[id])).substring(4,6); 2 E5 t/ b- f6 _) s: ]7 D5 X# g 3 F6 K, H7 G$ Q! \ if(--count[id] == 0) " [) H! k9 T. Q) A& A( H+ _! l4 T. V. a' g) D
{ 4 u; b( |+ V7 e; _6 @9 Z 5 V o* Y) b! S fadeOut[id] = true; # L$ K- a, D2 a+ a" m( z, ^. ?: ]7 T
} 3 ~5 |, r! k, C* i8 {3 [$ V * U9 z8 e' E g) E, U& F% C } ( e& Q& Z7 E, y- S' B6 F7 P9 b ' t' r8 {: k/ Z$ ?. o. G if(continuous[id] == true) 9 w9 V# ?, g+ {4 g2 E( V& M1 [7 ]* h4 w' u% J4 V+ d7 l
{ * N7 B/ A! e6 D 7 L( a+ h! T/ a% J! V document.getElementById(id).style.color = newColour[id]; 1 _' q t$ ~* F. _- P + m0 E/ S! H4 {( K* E2 V3 a8 z }: k+ n# {+ r% J6 F
4 Z7 t0 c' r* Q5 ^, |
else # ^* `3 ]4 {! _! a4 A- W( Y' |+ x# U! M# w. i% a
{7 v I7 Q6 E7 q p" k& I2 r
/ b- ]* \/ Y5 c7 f5 P2 j. K
document.getElementById(id).style.color = hoverColour;; B0 s9 y3 y6 V9 O& ~, u; j
2 g; l# v9 {5 h% M: g, ]
}) j. i8 V; H( r+ @ z
1 S" C& g( v0 B5 B clearTimeout(tID[id]);6 U5 C( n9 D9 k" i( j' P
/ b% M) h- H8 l, y" Q1 E$ }$ ~% | tID[id]=setTimeout('startFade(' + id + ')', rate);1 L @+ K2 i- [6 I3 ?
, ]9 }& F" Y: ?}" g& r& m( Z7 p5 ^, C! M/ i
& F! \& J# f" b9 Q' }
function continueFade(id)% m6 M* A6 P( B) j4 U! w) M
, I0 l! D8 a5 l. Z
{ 1 s6 S% U* @0 Z3 [/ l' O3 c8 B0 `9 b h w
continuous[id] = true; 4 r. O0 o Y; Y7 Q8 S9 l0 |0 M3 [+ e) }
} * K1 P- c9 P# h' m. ~+ }) W% N, w9 r9 [4 `% n5 Y
function stopFade(id) . L, `7 A) P, k! n C% F$ V+ `+ ~0 Y6 C) u ?4 s+ O0 T{6 Z: l$ a/ J6 O; H3 u2 n
4 |2 i" B2 e4 u9 m9 k
continuous[id] = false;0 M' D w& j8 X! ]1 K0 U0 O: u
6 p3 A# w. b. S4 C; t4 e0 D
}$ k6 z/ Q K2 z! r! }
3 O- F4 B, z. F! Mfunction StartTimers() + i/ |! k" m( a1 {' z; w' `* K/ O& z/ B7 L3 H: _
{ //set up an initial set of timers to start the shimmering effect, O# u; C6 l. u. t% z6 L% ?8 v1 G& g
: z2 x+ R% v5 h& Z for(id=0; id<numLinks; id++)9 H8 e0 Z% _8 v
& O; u, s; z$ ^: m% c5 l {7 B- t/ x, s+ T- S/ S# {; x) `
2 F& g$ \- J$ W" X
t=setTimeout('startFade(' + id + ')', id*100); f; t0 t0 u, X& u0 F3 U! c 2 w& G* \2 g: e# q }0 C" l! z7 `/ w5 Z5 c
3 t- o4 C, L6 `9 ?
} * U" G0 |7 R# Z b4 Y+ ?$ K: E2 Q! f$ G/ W* i! \
//format = initLinks('mouse-over colour', 'number of links', 'fade-out colour')8 j/ P: [0 b9 q% F Z2 I
0 E2 k x# N" S8 F P8 CinitLinks('#FF0000', 6, '#FFCC77'); ' C. i: j, S3 Q$ L ) t. {0 q; U' ~) {" b1 Y% D8 K, W//--> % H! \6 T" w0 H3 s6 m8 L( _: v5 j# A8 Q8 G( }; `) I
</script> % a5 H5 U9 u% G" t: v<a class="links" id="0" onmouseover="stopFade('0');" onmouseout="continueFade('0');" href="http://7wind.com/">国际域名:58元- X; F& I& c' d+ t
</a> 6 X% q0 M9 Q% S; l8 T<br>; h! Z2 B2 ^" {5 D' V8 L+ |
<a class="links" id="1" onmouseover="stopFade('1');" onmouseout="continueFade('1');" href="http://7wind.net/">国内域名:110元</a> * j% q2 o; \0 Z/ i ^+ t& Q) v<br>/ [: e# Y ^' c$ X% u4 l4 ^" o
<a class="links" id="2" onmouseover="stopFade('2');" onmouseout="continueFade('2');" href="http://7wind.net">新一代企业信息系统</a> & Z, e6 ~: }3 `/ B7 t+ ]0 ^5 |% B: {<br> 2 H6 D" d' W; f6 W u. d1 s<a class="links" id="3" onmouseover="stopFade('3');" onmouseout="continueFade('3');" href="http://7wind.net">新一代网络商城</a>5 L$ ] u7 t5 @ o" {
<br>" i" p0 K1 e; f
<a class="links" id="4" onmouseover="stopFade('4');" onmouseout="continueFade('4');" href="http://7wind.com/">全新的自助建站方式</a> . E/ _- ?/ o+ o0 P, L: {0 J. r: g<br>) ^4 ?! L3 d* X- z2 G, L3 J0 w
<a class="links" id="5" onmouseover="stopFade('5');" onmouseout="continueFade('5');" href="http://www.webdevelopersjournal.com/">全新的设计理念</a> ; u. W3 _/ v$ B/ H! z; K<script language="javascript" type="text/javascript">0 E+ Y$ U S3 B7 h: x
<!-- / C" s* T0 r) V' g( [$ zsetTimeout('StartTimers()', 1000); //initial 1 second delay to allow page to load and ensure smooth shimmering7 I: R2 `1 ?; {/ F6 y: G# c+ u
//--> % y: v& M6 ?' R8 L3 l</script>