<script language="javascript" type="text/javascript">, A2 p( T! I/ S( B# G
<!-- # [9 P* o' l9 g* t9 {// convert a single digit (0 - 16) into hex y0 ^( b) f* t* l
function enHex(aDigit) ! _; V/ E& G+ X; Z0 L{ ! @3 g# K/ H3 R4 \% R return("0123456789ABCDEF".substring(aDigit, aDigit+1)) 5 d/ e: a. o4 Y4 O8 |! C8 ?4 j} , ~. S6 x1 ^: ~! N' p# c1 I// convert a hex digit into decimal 4 P/ l6 [: C% o) ]1 w/ t* kfunction deHex(aDigit)5 z; u8 z5 u7 [$ I' J) @9 B+ Z/ E
{4 I0 {6 Y# B: `2 E3 x6 H' D
return("0123456789ABCDEF".indexOf(aDigit)) ! D o9 @& ]& K+ s$ [}* N+ O& a3 t$ W
7 b8 C& x/ l) c) C% a2 ^
// Convert a 24bit number to hex R% t. A0 `6 }0 @/ Mfunction toHex(n)1 ]& h0 y) j' ?# \0 m- g
{8 j/ ^# U0 Q6 b2 p# E. E& {# F- i
return (enHex((0xf00000 & n) >> 20) +1 U, M! u6 v! G& f" k& r
enHex((0x0f0000 & n) >> 16) +" G$ K7 [2 M% D$ T# @
enHex((0x00f000 & n) >> 12) +3 V, h, p: d' J) | G$ [/ L
enHex((0x000f00 & n) >> 8) + 9 `7 @% N2 m v enHex((0x0000f0 & n) >> 4) +. B! M% m& \: }# G$ f
enHex((0x00000f & n) >> 0)) 0 _/ Q& v+ }) [# R e+ F0 s}: ]/ g# C- b% ]
// Convert a six character hex to decimal 5 u6 ~$ X+ V# i' |1 vfunction toDecimal(hexNum) . [6 y) C/ M. \1 f4 T{ " m' t3 ^# S) r. X3 S var tmp = ""+hexNum.toUpperCase() 0 a# u$ C! k' k$ I while (tmp.length < 6) tmp = "0"+tmp J: m# Y: u j3 S! X return ((deHex(tmp.substring(0,1)) << 20) + $ H) E* I O3 i (deHex(tmp.substring(1,2)) << 16) + : O/ ^* q! `7 Q* J* ~. L
(deHex(tmp.substring(2,3)) << 12) + " D0 }, ]1 J! ? (deHex(tmp.substring(3,4)) << 8) +1 o* v# P. Z+ y* L
(deHex(tmp.substring(4,5)) << 4) + ( }# q0 N" o H f2 A7 N2 C, S; { (deHex(tmp.substring(5,6)))) - d4 C/ ?6 C" B0 ^2 O$ v8 q} , V8 ]- c" Y" Y$ `/ _4 P8 Z1 }///////////////////Shimmering Links/////////////////////7 T0 F9 A% m0 E
//global variables0 m' l$ W- A. P& L
var hoverColour ) ~/ d& J+ E5 V9 v9 W3 `; X" k1 y8 x, bvar numLinks;- H6 a2 T! }- d) ^) F" ]9 h
var rate;0 K! T* W* z8 L; d
var numFadeLevels; + W# g! [" c6 a% R/ Rvar bgR; ' S" r' _/ d& u+ [var bgG; # e J8 M2 N# o8 E: v2 Q$ yvar bgB;8 n7 M9 Y0 d+ o
var currR;: G; p$ W- {5 H0 J }$ l2 S
var currG;2 U: `( @" Q2 b, ^) A/ e: D; t9 i
var currB; . d9 j- u$ Z, j- r5 Vvar count; ; N; U7 c, q; x1 w2 wvar fadeOut;7 U' f0 I7 z& i$ F0 o4 |4 K
var continuous; 6 E5 P0 e0 W& K( |: Cvar newColour; $ \! {9 _0 f9 avar tID; # {3 ~0 N1 r" Avar redInterval; ) h+ u! n6 _. qvar greenInterval; 5 z# e# e8 G5 z+ s$ ~, e* s- Uvar blueInterval; ( a# B+ A4 p. ?4 _function initLinks(mouseOverColour, numberOfLinks, fadeOutColour) $ K. j" \% c' a% x. Y{ # f; D/ R2 I9 S2 b+ y hoverColour = mouseOverColour;% J' k3 W% f6 P0 P. h
numLinks = numberOfLinks; ! H' e7 `+ h/ w' K8 |- @$ i$ g7 B rate = 1;/ k; ?0 I: c# R6 t; f! e* }6 R$ T/ q: H+ D9 z
numFadeLevels = 30; 4 T3 _' v2 r! i, l" P% M9 \; a function initArray(theArray, length, val) 0 [: Y8 p5 f& L8 P" c/ a { 7 @2 t3 [. n+ d# g" w for(i=0;i<length;i++)) Y- A- }, V, R/ Z$ U, N$ r
{- p9 V. x% T$ i. ?+ |; Z4 @0 Y K
theArray = val;7 Y4 C7 _5 b" T/ `9 z. D- n
}2 {: \, s/ O! a I
} ! {, ]3 G% I/ Y3 R I7 y8 m bgR = '0000' + fadeOutColour.substring(1,3)6 d' |& R; | k p! W _
bgG = '0000' + fadeOutColour.substring(3,5) 7 ]1 D" H" Z! c+ ~3 { bgB = '0000' + fadeOutColour.substring(5,7) ) j% j4 K, e l0 @- o3 \! G currR = new Array(numLinks);4 ~. c f; g3 z- I+ z
currG = new Array(numLinks);: v, G3 \' |. E1 U% Z( p9 S
currB = new Array(numLinks); - p' k: [( ^, p5 ^/ k9 p- m count = new Array(numLinks); 4 Z& ^" p" k2 x0 w7 w' z fadeOut = new Array(numLinks);9 ?' j( B8 H; R: J8 }& _4 D+ @
continuous = new Array(numLinks); - q/ K4 X9 t% q, U) T newColour = new Array(numLinks); [' j2 q; Z8 y( |! y tID = new Array(numLinks); : A1 P$ X" | B; v+ M redInterval = toDecimal(bgR) / numFadeLevels;. O& c3 a' k |9 _, k
greenInterval = toDecimal(bgG) / numFadeLevels;6 Q. |/ G9 ~' O+ W
blueInterval = toDecimal(bgB) / numFadeLevels; ( e) z1 u2 B9 W% a initArray(currR,numLinks,0); ; z* A. f! b1 q9 d: m initArray(currG,numLinks,0);: A$ s! F* }# {# E7 K6 m. q
initArray(currB,numLinks,0);8 ~$ ]% N2 E7 n& w8 {
initArray(count,numLinks,0); ) O$ Z7 o, p# t* M, I% Q% _0 Q initArray(fadeOut,numLinks,true); $ g; c- \/ ?. d% x/ j, b initArray(continuous,numLinks,true); 6 H" u) X1 q6 K S L} * u {- r4 u; {4 a2 W, F! v( _function startFade(id) , s* q# p j- J0 l/ i{. o+ X U, r) \8 O' h
if(fadeOut[id] == true) 2 V |4 j4 a E, w- W8 y% R { /*move colour towards background colour (increment)*/5 l2 b! v: H4 |
currR[id] += redInterval; 8 c3 `6 w9 }, U7 s currG[id] += greenInterval;" W+ F7 A4 {* ` W. F" v
currB[id] += blueInterval; 7 k7 x1 i& X# i% Y k- q' E newColour[id] = '#' + (toHex(currR[id])).substring(4,6) + (toHex(currG[id])).substring(4,6) + (toHex(currB[id])).substring(4,6); - |/ l2 l' o+ i7 Y; J& q. Q if(++count[id] == numFadeLevels); D) W/ g( ]8 j8 z1 E- g5 d# }
{ & i' z6 y: [& { S# g* c fadeOut[id] = false; 2 ]0 M# u, n" k7 S6 V2 A }' `8 f7 l& V+ |7 a: {
}3 T" L* U% k2 o6 D
else" d) d( x* \6 Z2 Z3 z9 L
{! o/ R7 F1 X/ |$ ?2 z( ^
currR[id] -= redInterval;9 S0 ]+ r+ {6 _' l, h* U
4 L' v9 h. i6 @6 u% D9 J" _
currG[id] -= greenInterval; 0 m0 e- _( W% b6 u) X u/ ]7 {/ v$ s& k
currB[id] -= blueInterval; 4 Q/ h" w6 x( g5 N* n% e, s* b T& [# }2 K9 S' \
newColour[id] = '#' + (toHex(currR[id])).substring(4,6) + (toHex(currG[id])).substring(4,6) + (toHex(currB[id])).substring(4,6); 5 l$ p, D# \! J! u$ r; D& o/ l$ g) q h* a2 n
if(--count[id] == 0) ]( n" a( L7 H9 C7 N, o( W
5 s8 |: {3 O5 A
{ ' y+ E2 |8 D" t' j+ e) v 9 A) `( Z# n9 ~6 Z2 K fadeOut[id] = true;5 N3 f; ~) Z2 |; b
+ D( K: ]% t0 q4 K
} ! U) {/ ?* m; \# m x* y( @8 x0 u9 I& F
}* a# J$ p" h- w! t
% h. a0 e0 G$ ~; H6 U2 @* M if(continuous[id] == true)7 }+ h/ g6 C$ q& b
9 z8 E8 ?& ?1 x8 ~, P
{ 7 ~+ V4 x% w- Q! q4 L1 j & U! ^' P6 ]% } document.getElementById(id).style.color = newColour[id]; 3 d% y$ M+ `5 _) Y" e" p3 U$ i7 f$ @& [9 [( i' K# E/ ?8 S
} 6 s' S* X* b- L) i& ?+ K, E 6 S: t: J5 C6 `4 @: n( k" C else : {- o4 J- L7 {' v9 y# Z* p% P5 }1 F - e: X1 m8 `- j. W) c; [ {; V" p( d M$ y$ N! f/ |
& I5 ] B% `& c' ?5 `6 [) f* P document.getElementById(id).style.color = hoverColour;! [8 ~5 _- y( Z) f
$ [# O/ x. W Q/ B* v } ' i; `; i* i2 l6 e5 b/ ]4 e9 Y( m; W: ]- S* |5 A: ~
clearTimeout(tID[id]); # F' ~! V7 ?! M, r) T, K# {/ h1 b) N! J; q3 J L
tID[id]=setTimeout('startFade(' + id + ')', rate);6 n% a; ~/ p" i F
# P8 r; e4 c9 L; j$ f$ p% u5 J
}0 |! S& n n2 K
) I! q0 u0 R) `4 n0 V ~function continueFade(id) ( A5 Y( m; f, n* l. d& h " d7 K3 G2 a2 E2 L& V p, U{ 6 b, B# f" i8 b Z5 y 2 s# A; R( j! ?( }6 `) p5 C r continuous[id] = true;; k L5 E& f p: {1 M* ], U, b. u
5 V$ r1 W8 G! D' ]& b3 c9 Z, h1 \} 9 F$ F, t: e+ P* V+ `- L! C; w0 d. e ) ^4 r( U6 A/ X1 ?+ tfunction stopFade(id) ^5 F/ ^9 d* w! }9 @( ?7 o1 Z8 F* B$ E* e j+ u) u/ m
{ ) ~( k0 }0 T: I- \1 r4 d: K+ K) k- M: z* Y' s& N
continuous[id] = false; - \8 S, O% j F! E" |* S; J5 H! @$ f: z/ j! ]) F
} ' Q8 j; T, x8 q* R4 C* Q1 d ' |) G6 v) g7 U6 A6 Tfunction StartTimers() * O u8 }& |8 ]( G1 g) d$ N2 x " W7 l8 y# U# T& ~7 N{ //set up an initial set of timers to start the shimmering effect( ?- x& S) @ e/ {- X i
; i3 ]/ C9 U( x0 \ for(id=0; id<numLinks; id++) : k6 W: J' l" G! w : z: b* \( v @ t {4 E5 o, b$ M6 i$ L( [2 b9 S
1 q' _$ }4 N5 D/ N9 r! x J t=setTimeout('startFade(' + id + ')', id*100);7 l' Z v d2 G: N- }
' Z; m4 N9 R- M1 c. z
} " Y& o- B* V0 T. V3 X. i" ?+ u2 \# f! ?7 K! T7 R. X1 t4 P
} 0 A, q4 D7 D [; \3 E : p. `% a; X& ?" T- K//format = initLinks('mouse-over colour', 'number of links', 'fade-out colour') $ R# n. P. K! r; i+ ` 3 `5 P a6 ~% KinitLinks('#FF0000', 6, '#FFCC77');) k1 H5 c0 Z Z @/ {
, {) Z6 Y& e! ]
//--> ! Q- `6 G. h6 y' ?7 j! M7 [! c$ \/ \1 w7 y
</script> + z$ G5 E* n1 a$ v3 \ Y3 W) g2 z<a class="links" id="0" onmouseover="stopFade('0');" onmouseout="continueFade('0');" href="http://7wind.com/">国际域名:58元 " _7 m6 z' O' Q</a> 4 @8 a! }8 U% a" p6 w<br>1 O/ x% ], w( v5 g" _1 y3 @% ?
<a class="links" id="1" onmouseover="stopFade('1');" onmouseout="continueFade('1');" href="http://7wind.net/">国内域名:110元</a> * f2 i( F3 }3 j1 D$ a, r<br> - G% x; F; Z( M3 E L<a class="links" id="2" onmouseover="stopFade('2');" onmouseout="continueFade('2');" href="http://7wind.net">新一代企业信息系统</a> ( Z8 Z- U/ T4 s<br> 5 P$ T: ?7 M' `6 M<a class="links" id="3" onmouseover="stopFade('3');" onmouseout="continueFade('3');" href="http://7wind.net">新一代网络商城</a>$ q5 S& ?5 A/ H$ L
<br> , r/ Z5 y) L! l& C5 L7 f0 y9 x<a class="links" id="4" onmouseover="stopFade('4');" onmouseout="continueFade('4');" href="http://7wind.com/">全新的自助建站方式</a>: n# @& m2 Y. F! [1 S2 \; y! d0 X
<br>9 a/ }% e% e8 n. ~) K
<a class="links" id="5" onmouseover="stopFade('5');" onmouseout="continueFade('5');" href="http://www.webdevelopersjournal.com/">全新的设计理念</a>7 ?, r0 {) l- k% s' b4 K4 l! \
<script language="javascript" type="text/javascript"> 8 W: h) ^$ u- C' |<!--3 R) M7 U! j* ]! m
setTimeout('StartTimers()', 1000); //initial 1 second delay to allow page to load and ensure smooth shimmering2 n# f8 f3 o6 o1 \0 Q* X
//-->' j3 C9 k3 ~( p5 u+ M# I
</script>