Board logo

标题: 网页之文字的循环闪动特效 [打印本页]

作者: zw2004    时间: 2008-1-21 20:48     标题: 网页之文字的循环闪动特效

<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>




欢迎光临 捌玖网络工作室 (http://www.89w.org/) Powered by Discuz! 7.2