Board logo

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

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

<script language="javascript" type="text/javascript">$ N3 E$ b% r. J4 m3 [
<!--1 U, d  R8 {! Q( x5 t/ X
// convert a single digit (0 - 16) into hex. y; V- `8 j+ ?0 ?1 H. l
function enHex(aDigit)
$ f3 G" K5 g& \# k% `6 U7 k6 G! y{1 j7 \9 ~1 `- g) a2 N! [
    return("0123456789ABCDEF".substring(aDigit, aDigit+1))1 |. j7 d2 m3 |- ^
}% u, {" {1 ^8 ]" k$ s
// convert a hex digit into decimal
9 @: L0 G7 N( S4 ufunction deHex(aDigit)
' T- W7 M* E( o9 k( w/ K, p7 P{4 u; d, A% ~# J3 i: G) y) G
    return("0123456789ABCDEF".indexOf(aDigit))
1 I0 f) e. s" ^3 t$ d}
$ E4 o8 c6 W# P% @# l1 x" l+ l, N) @7 K0 f5 m8 M! Q
// Convert a 24bit number to hex* v2 c2 o+ Q2 n
function toHex(n)# R+ Y. [1 V1 M" u- `" W
{  e* W! H: q/ z0 e) ?3 Q
    return (enHex((0xf00000 & n) >> 20) +
$ h5 j! T6 \, B# D" F            enHex((0x0f0000 & n) >> 16) +
4 ~7 {" p* S0 _2 F7 ~3 L            enHex((0x00f000 & n) >> 12) +- M% R; y: Q! O
            enHex((0x000f00 & n) >>  8) +4 i: [2 R: N$ z4 c9 u1 E
            enHex((0x0000f0 & n) >>  4) +) l) s3 `3 ?! F( T0 p# ]- e; F
            enHex((0x00000f & n) >>  0))
% ]; J$ D+ T* b9 h) L8 U$ b/ V8 a$ \}
* Z3 _/ N4 B* c// Convert a six character hex to decimal. G9 p1 ]+ f' e  [# y% W
function toDecimal(hexNum), a, o/ o! E7 {1 r
{
- ^% ?7 v7 ]0 K# L           var tmp = ""+hexNum.toUpperCase()( \" Z( j0 e8 [% M+ [8 ^
    while (tmp.length < 6) tmp = "0"+tmp
, |" Y8 U7 I" }3 N. S0 ^           return ((deHex(tmp.substring(0,1)) << 20) +
* [- S; x) S% i3 S7 B: J+ ?2 N                   (deHex(tmp.substring(1,2)) << 16) + ' _# U- V1 D$ ^/ L5 V
            (deHex(tmp.substring(2,3)) << 12) +
8 ]0 b' G& S5 R& _            (deHex(tmp.substring(3,4)) << 8) +8 t& d# Y, \2 Y! n( @( n8 I1 k
            (deHex(tmp.substring(4,5)) << 4) +
& w" C; U( K4 H. W                   (deHex(tmp.substring(5,6))))# B# F$ _3 J5 O! _) _
}) z. e2 n4 a6 J5 Q* _3 C9 n
///////////////////Shimmering Links/////////////////////
+ x6 u1 V2 }& C# J. H) c0 \  k2 e; [//global variables% s. n$ U& I& b+ N" b
var hoverColour" P8 Z& k$ z# S4 A# |- b
var numLinks;
3 z8 b! j3 @5 ^  Uvar rate;: a3 @' T3 c- k' E9 k
var numFadeLevels;% ~. i. b5 s: A- x; e9 K; D
var bgR;
3 Z. ~) V  n; C" e4 Z8 S. m4 W- mvar bgG;
" S" u  f/ q& Z5 u2 ]! [/ {; evar bgB;& M2 y2 M4 r0 `  D/ V: v: x
var currR;6 l5 n" ?" `* [8 D! G" J3 E  n
var currG;
5 I0 o1 l* F. D0 f  n0 Dvar currB;
: b% g8 J& u4 K8 C& yvar count;
* G  N& `* h9 W9 pvar fadeOut;
* |  E( Y. Y8 {0 I' Pvar continuous;
  G: P! H0 l% U2 p( H5 t4 dvar newColour;0 D( }/ \/ ?& h( B( e  X
var tID;3 w8 S8 j. @4 e# Z3 m. I$ f
var redInterval;
) V# s0 L* S* ]4 a, {) }var greenInterval;
7 s/ h1 n) J- `3 ^* R% u( Z; g' {; t. ^# Tvar blueInterval;
, z# [1 Z& W0 ^6 M  e  d, ^function initLinks(mouseOverColour, numberOfLinks, fadeOutColour)
! G  _* E- M2 g& D" K$ [5 P{; S# I% m% ]0 @9 T
        hoverColour = mouseOverColour;* ]( z( m5 l% n% z3 H+ _, A
        numLinks = numberOfLinks;+ y: z& X3 }+ U/ W+ r3 C9 k6 G3 @
        rate = 1;7 G; h9 R6 T" O& H4 @- V
        numFadeLevels = 30;1 x, _7 l# b. N! I
        function initArray(theArray, length, val). i! X/ Y: t  w2 C9 ~
        {
" G: O* A  c3 J5 L0 |                for(i=0;i<length;i++)
/ V' Y: b+ b) Z! ?                {
$ E0 v6 [4 A+ Z  T                        theArray = val;
* [  q' y# z' m6 ~5 t                }
- u5 v% |4 t: l+ J0 G        }
6 n5 g3 A& z9 M. a        bgR = '0000' + fadeOutColour.substring(1,3)
. w" f3 A( m. J        bgG = '0000' + fadeOutColour.substring(3,5)2 ^- B: {* ~9 }; V* {$ f
        bgB = '0000' + fadeOutColour.substring(5,7)
6 K: w; U/ r( n: E" C' E        currR = new Array(numLinks);# f, A; g; ~( M. C  U. j. q8 r
        currG = new Array(numLinks);
# b" n3 r( h  H6 m/ J0 k8 l1 B" s        currB = new Array(numLinks);
9 ?5 b1 p* B3 S6 B        count = new Array(numLinks);" z7 N( F& ]  ]& a3 ?# P" c" Y2 L
        fadeOut = new Array(numLinks);
9 x* B+ `! M$ L5 j        continuous = new Array(numLinks);
! T" q* B% n  M$ e8 t8 Q! v) Q, |: D        newColour = new Array(numLinks);) H6 H9 R! G% v; n; f: p
        tID = new Array(numLinks);
- ^" F% D+ O* f; M2 R$ l  j8 e        redInterval = toDecimal(bgR) / numFadeLevels;: ]0 z8 y; F/ Z: G$ Q
        greenInterval = toDecimal(bgG) / numFadeLevels;
0 O$ [: {# D( l% N6 G        blueInterval = toDecimal(bgB) / numFadeLevels;! G  O$ _& k9 E
        initArray(currR,numLinks,0);! y- B/ |* T8 u" `- @. W5 B" E
        initArray(currG,numLinks,0);
6 v5 D$ \1 M$ T8 `3 V        initArray(currB,numLinks,0);" e" @! c  L/ d2 x5 w1 W
        initArray(count,numLinks,0);; s3 D5 q2 s& E% j: W4 \7 t6 I/ K# s- C6 w
        initArray(fadeOut,numLinks,true);+ ?* f$ D. k" E" j: m! P  K% e
        initArray(continuous,numLinks,true);8 D- {( A$ C" ]9 J6 u- d
}       
" T( b. X' Z* q- Cfunction startFade(id)+ M1 b9 A! F: l& S, L( t4 \
{+ c( g' W6 d& v/ ^) T
        if(fadeOut[id] == true)" I" r( T5 g$ ^9 a4 m4 }$ v
        { /*move colour towards background colour (increment)*/8 h& h# A! C' G( u+ N
                currR[id] += redInterval;
+ A$ P6 o& Y6 Y( d1 w( i                currG[id] += greenInterval;0 s8 A2 b; ~8 [5 H/ E" I' y
                currB[id] += blueInterval;0 |& b; v  L, J/ A1 Y  L
                newColour[id] = '#' + (toHex(currR[id])).substring(4,6) + (toHex(currG[id])).substring(4,6) + (toHex(currB[id])).substring(4,6);/ f( c3 @3 J/ U. I4 U
                if(++count[id] == numFadeLevels)
; i2 P0 U2 N7 M8 c: [                {
0 C+ e( Q. j6 a5 m& n                        fadeOut[id] = false;
- g0 C5 k7 ~8 q" e$ l5 T                }
$ f. ^* K2 G* t+ o+ m        }
$ K" a8 {6 J; p( Z* M% @( c        else
1 {8 q$ i' v: h1 L/ I        {6 I3 r4 I, U* a6 S
                currR[id] -= redInterval;
3 W2 H  j) z7 F- g8 X' z8 g+ D: _0 G" c6 V4 Q
                currG[id] -= greenInterval;
2 f5 j( B1 P9 b8 l2 F; ^
! g; a' B/ i) G6 D1 z( r- [) P                currB[id] -= blueInterval;
# ^1 H" c6 j& N; {
7 F4 d* Z3 |/ q9 k  S                newColour[id] = '#' + (toHex(currR[id])).substring(4,6) + (toHex(currG[id])).substring(4,6) + (toHex(currB[id])).substring(4,6);
7 m6 U$ l0 @2 Z- i  d8 \$ `% N4 d" X
                if(--count[id] == 0)
4 C3 U; R: _( x4 ?6 z" l( z) B. r- H9 }3 N+ v
                {
8 N* O6 j" _! p6 U0 I4 y
8 J6 x3 i: Z/ _- z                        fadeOut[id] = true;7 [+ s# M% [# A3 K) r3 E- j

4 P% D; b+ s  y, J4 A8 O0 c. E                }
  g" G0 c/ K/ d& \! \, e7 d" _) m* s1 k1 o3 D! H
        }$ B4 G5 l% u% m6 x% r
/ a% E( C9 j  \5 Z1 s/ q% J" S
        if(continuous[id] == true)/ U8 j; n% i% f4 I
: r+ O2 X2 ~7 V" D; G( T
        {
- b# W) a- f) F& M0 U+ J& C
; r! U  ]4 v" S- R" m8 r; U9 ^                document.getElementById(id).style.color = newColour[id];               
  M0 X) z1 ?6 f: ^; U, Z! S3 g4 K" S' x0 T+ m/ ]4 |. H9 S
        }
" d' Y4 u' X( X" f# R, z; y  E' o) I* L/ \! y* h* y" U
        else2 x# J2 U3 L6 }
* e* R. e% O; w& G7 ]& x+ h6 _
        {
( T9 {- e) ^  l* x% s6 F- Y1 C( M2 Q
/ u5 O9 C8 W6 D' I! b8 h                document.getElementById(id).style.color = hoverColour;6 u; d8 l0 K2 [' A3 L( Q
3 p! h" m) F0 E2 s/ y! p0 R
        }- R4 a( a( z& o3 J0 d

; w2 e% [" ^0 b1 ?2 p        clearTimeout(tID[id]);; p0 M  U- x  i6 L) _0 O

- L- f4 {& z: t" j7 X5 F        tID[id]=setTimeout('startFade(' + id + ')', rate);  H( P! ?( `0 {4 B- N5 e7 c

  S; I) _3 ^4 a4 D}' x& C  }  M+ c

* R( G0 g- }; Vfunction continueFade(id)8 z. }6 T& B3 P+ e2 @! m

; U% i: J4 |/ t  T+ [# T9 w5 i{
' v& P+ V; x8 `4 ?; f# H
8 o8 W1 K2 y0 ?) G( t1 Y        continuous[id] = true;
4 c' q7 _2 k! Y# y: D$ U5 ^7 _! ]/ K- x$ d" d
}
% B1 b! V) P4 `. j1 I5 x% F
+ D3 C0 \( I$ k  k4 bfunction stopFade(id)
( O2 L* M6 u* r8 K" L9 r+ }' `, W* c' L( Q9 g
{
4 i; T1 N. I* y+ Z8 V0 u, h& G# m5 M1 x
        continuous[id] = false;
! Z7 z# ^3 s4 ?0 e$ K9 _- o/ z# j
8 L- D8 [; E$ G) v}
$ X( \  X/ M. [9 d; ?* v: o# C6 o
function StartTimers()( A) I  m) ?6 t) o. `) t3 h

. W6 A! C$ O" |  w: e{        //set up an initial set of timers to start the shimmering effect
! m7 i6 p( r6 ^8 d7 u' q
0 x" h- K( B( X/ w        for(id=0; id<numLinks; id++)
" ]- [/ Q& M  T8 ^0 i; q. T# g7 I8 J4 `) \8 p, a6 T, n
        {& G6 _# N8 O( [. D9 j- G) i6 d0 X

2 s0 T. d8 r& g  B5 J                t=setTimeout('startFade(' + id + ')', id*100);( R9 U# l7 {* A

- s8 O. p! L1 c7 ?        }
; x5 D: F% V3 r( u' f' G
$ [& b% n, O) w1 E- |}
' K7 T" ~# U2 O4 {+ ]" v' A7 n" J* Q3 A; T, B$ U$ D4 F6 i2 d: ~! [
//format = initLinks('mouse-over colour', 'number of links', 'fade-out colour')% B7 s$ [5 \* r
: N$ Y0 T* c& v& Y9 X+ t! _
initLinks('#FF0000', 6, '#FFCC77');
9 c+ A/ S4 ^/ C9 H0 y
" m, e% _: Q% w5 E, |; c, Z//-->+ u* Y5 H1 T# l/ N
8 [' K- F8 v% c! M! J+ V
</script>
. P1 i- J& R4 w& Z<a class="links" id="0" onmouseover="stopFade('0');" onmouseout="continueFade('0');" href="http://7wind.com/">国际域名:58元
! [' q5 A1 L8 Z, l5 y0 b. c  A</a>
) _3 g- F$ l7 `* s<br>
! a- u; ~; B8 ?5 p( E% t, U<a class="links" id="1" onmouseover="stopFade('1');" onmouseout="continueFade('1');" href="http://7wind.net/">国内域名:110元</a>
5 ~1 E* L, N8 Y7 E( d4 m+ r& w2 K<br>
1 Q/ L! ^- @3 d1 Z2 d<a class="links" id="2" onmouseover="stopFade('2');" onmouseout="continueFade('2');" href="http://7wind.net">新一代企业信息系统</a>* |0 X! f3 v" f/ ~5 L
<br>        ! D: d+ r/ L2 i$ R/ p
<a class="links" id="3" onmouseover="stopFade('3');" onmouseout="continueFade('3');" href="http://7wind.net">新一代网络商城</a>) S+ [, u5 X$ R3 c9 I/ w$ I* Y' i
<br>
9 r; v- f+ [  f' Q) i' l<a class="links" id="4" onmouseover="stopFade('4');" onmouseout="continueFade('4');" href="http://7wind.com/">全新的自助建站方式</a>
' |9 G) ?: b1 ^- a! w3 m1 P<br>
$ `+ m( ^8 z) n& ]9 S, C+ j<a class="links" id="5" onmouseover="stopFade('5');" onmouseout="continueFade('5');" href="http://www.webdevelopersjournal.com/">全新的设计理念</a>- z: s. ?) H0 h0 f
<script language="javascript" type="text/javascript">) ~2 N5 A; S/ Z) ~  r
<!--
& S  J/ E0 N0 t9 A: d$ r0 {setTimeout('StartTimers()', 1000); //initial 1 second delay to allow page to load and ensure smooth shimmering6 }. a5 P. i& g. z% O1 O
//-->" ?! |6 ^5 X2 W9 d/ i( V9 Z
</script>




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