Board logo

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

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

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




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