返回列表 发帖

网页之文字的循环闪动特效

<script language="javascript" type="text/javascript">
( p) _+ R2 a1 _& c+ q* Y<!--
$ _# {+ A6 V) w// convert a single digit (0 - 16) into hex; f! {) z' j' D# F: g9 m0 r
function enHex(aDigit)* a. t/ X/ s* A  H) e6 w
{) q! Z4 s1 l; I, g) q0 I4 T
    return("0123456789ABCDEF".substring(aDigit, aDigit+1))& o% A  v2 {/ M  c& H
}' z0 C& p* \* |. b8 b2 _# S
// convert a hex digit into decimal# M, o9 A" [: i7 V4 \: d
function deHex(aDigit)
$ d4 t/ Y/ e& [4 z{6 r3 u1 A" B( D, K1 _& c; z2 q& b# g
    return("0123456789ABCDEF".indexOf(aDigit))9 g* d! g3 E' X: }' g
}8 d! v% f. r8 ~' z* P

, c2 ^7 v- r- Y, {( X: X/ h, G8 y// Convert a 24bit number to hex9 ?* A$ l" w: O% s: [: M
function toHex(n)$ A4 m2 F/ J( p
{
7 \$ E: i3 f- I$ ~  n    return (enHex((0xf00000 & n) >> 20) +6 D: y/ P# s$ F: q5 W8 O" `, G
            enHex((0x0f0000 & n) >> 16) +
8 X' D) a5 y0 y( w  w            enHex((0x00f000 & n) >> 12) +
7 O7 x- I' o$ W. s8 n            enHex((0x000f00 & n) >>  8) +
6 R/ }( L( I3 v4 D1 v            enHex((0x0000f0 & n) >>  4) +
; [/ c2 [; t. v% C- Z            enHex((0x00000f & n) >>  0))
1 b8 Q3 j4 y" v3 z8 j' ^}
! Y$ @) \- ?8 R" s// Convert a six character hex to decimal
, {: F; B( U# @  d  ifunction toDecimal(hexNum)! g! }4 a: C- d6 r7 \5 v
{
7 i" ?% A( G  F           var tmp = ""+hexNum.toUpperCase()
. k! m' p9 ]$ \/ z8 c+ x    while (tmp.length < 6) tmp = "0"+tmp
) ]/ k; G/ {- d# _8 j7 v           return ((deHex(tmp.substring(0,1)) << 20) +
3 F0 J! u- a7 h6 H7 y8 G0 |: j1 d* _. z: h                   (deHex(tmp.substring(1,2)) << 16) + " K0 s$ ~7 [" ?  p3 v; }0 r" O& m
            (deHex(tmp.substring(2,3)) << 12) +
( t9 n* Q5 C# @. B; \! _/ Z            (deHex(tmp.substring(3,4)) << 8) +
' h6 j- m9 G, Z4 d  Z7 A& B( W            (deHex(tmp.substring(4,5)) << 4) +
, s, ]9 Z7 |2 B  c! P% x                   (deHex(tmp.substring(5,6))))
. Y" T& R; T  q  b9 ^& P0 g}
- X' g7 n) @7 U/ x7 P/ ]# `///////////////////Shimmering Links/////////////////////3 P2 P% r/ s5 E
//global variables
' \% X! _# i4 J+ f. d8 ]var hoverColour; _" v+ Y9 N' e
var numLinks;2 V5 c4 I  n( M9 F- {/ Q+ M
var rate;
! ?- b* x3 t, B( D* ovar numFadeLevels;
9 A8 h# u, _% \9 B6 Uvar bgR;
: T, J, k' c. F% Dvar bgG;
: X- C; N) g% y. ?/ lvar bgB;2 ]7 L4 W8 ]/ T1 j: X
var currR;6 R; D+ N$ @0 t! E4 G" ?3 v
var currG;/ j: h! q1 {' J: W0 E) ?
var currB;* {& U2 X. e/ Y0 S
var count;+ I# U/ v" ~! P/ U- c8 j5 G
var fadeOut;
0 ?$ H+ m/ e! z( wvar continuous;
( V4 b# g! c* @* u& z9 Vvar newColour;
* u) Y* t# G4 C& @- {3 dvar tID;
0 D" j9 h$ R$ H/ }: Q% [0 J( ~$ q7 Bvar redInterval;. b: R" S+ }9 J, N! {, z
var greenInterval;' q3 a) k( x" C4 |* |( W
var blueInterval;
0 G2 j0 e& _: hfunction initLinks(mouseOverColour, numberOfLinks, fadeOutColour)1 l3 `$ ^# `( W- R- ?% ^
{
# ]! g# ]5 F: ?! T        hoverColour = mouseOverColour;
% I% ~2 W5 ]% a        numLinks = numberOfLinks;
, c0 t0 O3 T1 q/ z* b        rate = 1;
% c- ?1 H: {4 }+ T  H/ [. [6 U) u        numFadeLevels = 30;# ?# |5 j1 U, O; e# ]8 \5 J
        function initArray(theArray, length, val)
6 q2 o, z3 a- \( W        {3 u' v* Y; x- ^) k
                for(i=0;i<length;i++)
* U# i3 P# {' |: ?- i5 P" i                {
- I4 q% w" h+ {) b9 ]( x8 b) g                        theArray = val;$ |; ?! x' `( q6 h/ `* ?
                }
3 Q) ~! p% ]' i        }& F% ]  }- i9 {+ t
        bgR = '0000' + fadeOutColour.substring(1,3)
* F  M* t' G4 U) e6 g" g( Y3 B        bgG = '0000' + fadeOutColour.substring(3,5)4 {$ D8 F' O/ Y, s( K
        bgB = '0000' + fadeOutColour.substring(5,7)
6 @/ c1 S6 ]; A6 }        currR = new Array(numLinks);
4 J( U& X7 v4 t; R: o        currG = new Array(numLinks);/ O0 K4 o) G' ]" a
        currB = new Array(numLinks);
  u! t; t7 |8 p8 D$ a& ^; {        count = new Array(numLinks);
) F& u& N: t9 e% W8 x. S$ K7 w! k) s        fadeOut = new Array(numLinks);! T( c3 |6 f- N" `1 t5 b
        continuous = new Array(numLinks);  d: s6 R+ C' e* ]  ]' f' T
        newColour = new Array(numLinks);  }, d/ c: B6 A; z
        tID = new Array(numLinks);
" W6 S! f& P, o        redInterval = toDecimal(bgR) / numFadeLevels;
/ O: l- K" m& y, \6 L. q% R        greenInterval = toDecimal(bgG) / numFadeLevels;
% o# D7 w9 q* X" r0 Y% L        blueInterval = toDecimal(bgB) / numFadeLevels;
7 y3 c+ Y1 z5 B2 D* t& C( A        initArray(currR,numLinks,0);
% O2 T+ N( m3 A  F/ i7 Z        initArray(currG,numLinks,0);
# [; d) l$ o- S9 d        initArray(currB,numLinks,0);0 P* w( a+ M) i; P* @
        initArray(count,numLinks,0);4 F5 N1 I) e: Q$ W' k1 O
        initArray(fadeOut,numLinks,true);/ K9 r* F+ L0 C
        initArray(continuous,numLinks,true);
; L6 W- j0 p$ u5 X; K$ o6 d4 J}        7 x+ @1 T) f5 L: l
function startFade(id)1 X  @. L- N) m4 R; Q6 `  n
{' f" f, a4 j. M9 c& _
        if(fadeOut[id] == true)
# Y, l! Q) J# ?; D' h+ p        { /*move colour towards background colour (increment)*/+ i$ @$ n: Y0 r/ c) F
                currR[id] += redInterval;
3 Y* r# U& X* r5 j. w                currG[id] += greenInterval;% N5 x- x6 Q+ m& k/ }0 S
                currB[id] += blueInterval;
( @1 o0 _2 |0 [3 U: g( q                newColour[id] = '#' + (toHex(currR[id])).substring(4,6) + (toHex(currG[id])).substring(4,6) + (toHex(currB[id])).substring(4,6);
% l) I/ N  r* |' h1 O: u; @                if(++count[id] == numFadeLevels)4 a/ `. {. m7 z( q5 k
                {
8 F8 b4 B6 H5 }5 B. y, d4 ^& g                        fadeOut[id] = false;, P! t( _' ?2 M% V" V. g
                }
2 k" H5 ^# @5 F7 M3 e4 a. {8 `        }- f& X2 z) q/ |! J* A( V' z
        else
$ D% k) Y" T% I( L        {
" E6 B: L" H; J1 P' E" ]                currR[id] -= redInterval;2 R4 S, [( r' _

1 y) U0 l4 r7 S                currG[id] -= greenInterval;
4 d4 s. ^' ~; e- W3 g0 ^: A. A" g0 s0 b" u  n
                currB[id] -= blueInterval;4 P8 O: u  q, T4 u+ e& f, t7 \7 a
3 W0 ^, c7 Q5 a6 B4 r6 D, K+ w6 b
                newColour[id] = '#' + (toHex(currR[id])).substring(4,6) + (toHex(currG[id])).substring(4,6) + (toHex(currB[id])).substring(4,6);) x- h0 |2 ]2 X# q* _; g3 f# T

& |+ _5 s6 f, ~6 ]2 O                if(--count[id] == 0)
, u' V$ H; ?3 A2 ]9 z
0 ?$ ]8 B2 ]0 a6 y                {; B( h7 K( Q) U' {3 w& Z/ W

# B2 y) x4 }: R' @  b& J* q                        fadeOut[id] = true;
5 q$ I  a- v, R$ G
( ]/ a& p& H  h( P* A" C% w; r                }
5 N/ I7 S: R  O/ u3 @- K7 X, `% D
        }
$ m$ o1 c5 U. i3 O# [- ~4 c. k3 b; Y  D/ J8 j7 p, ]% R
        if(continuous[id] == true)( y0 I1 ?( c/ ]* L0 c' f" i
+ d+ e8 E, n) P+ X9 T8 ]
        {
3 Q$ _" s( k8 {$ i  r' `  X1 G
8 F( K: ?3 e! u( `" e3 `                document.getElementById(id).style.color = newColour[id];               
$ K3 i% h7 K6 M: p* c" Y; c# J# ~4 C8 R. N: o! k) f
        }. y  a! d- W, C

' d; f' |2 _- L* z) ^( q        else
# n+ R' P$ Z* y6 z2 P7 |
! {* b2 j  G# _, {        {
9 d+ n$ h4 e3 V* B& s: p$ I9 s
" Z8 @! |) S  S- |4 _; T8 ], u                document.getElementById(id).style.color = hoverColour;
- ?- O. F/ Q7 s" I$ j0 l$ x& o
+ Q5 T2 S9 n4 l) @' i% V5 C        }7 b" I4 b, c, r0 ?# s0 \, a

3 u. w' X9 a: z% |        clearTimeout(tID[id]);: w4 w7 S5 I! q" O5 P4 W) ~2 u
3 I" l0 C6 N" J' X
        tID[id]=setTimeout('startFade(' + id + ')', rate);0 Q9 w6 f: ?2 g* n1 U; S# m& E0 F
' h, k  I5 F: {
}
& K$ R, Z/ k, L5 i" [! Q+ p2 \# c6 ?0 S' H( k
function continueFade(id)
  L0 G0 w* t8 O/ E0 k" g+ J/ |% U7 B  C  u* c% T
{7 L8 v" E" r# X1 ?9 L. G$ v* S2 `
* Z; Y$ k: p; x
        continuous[id] = true;) j# x( x4 F2 ~; J  X7 U9 k1 \
" q$ E- B0 l1 j. H/ I0 Q1 ]. s
}
6 {2 G& c$ V; j* @
8 t$ ?8 n) ?5 J7 m. _, D0 bfunction stopFade(id)) k9 H5 `1 L: x' n0 G

2 Q, Y; Z$ [/ s: \1 P; v+ x{$ Q! i& P+ v" c; i1 q* F

. W! K. U; A/ e$ ~0 R5 B: {        continuous[id] = false;, A' c- K6 X/ A! \) ]

+ p: f8 Y+ k+ \) @4 ?+ Y}. F/ M; V# \5 c. `

9 g. v) r$ e5 O, ]: efunction StartTimers()
( C7 ~) K: ^: X3 \8 ]0 J. R/ Q  M1 A6 v$ e$ c& y$ k# f3 _  `
{        //set up an initial set of timers to start the shimmering effect8 h4 T/ |- i  T$ D7 ~

  l: V  T3 c& I6 w3 }$ f; q        for(id=0; id<numLinks; id++)
  D, `  n+ y- o- l
0 U( z  a; l2 @; w9 `2 ~6 W        {$ I" T" v8 i# m* D% L9 g" l7 L0 l

) z1 i4 I7 O$ k, e- e                t=setTimeout('startFade(' + id + ')', id*100);
8 |5 U  d) Y1 r: W
" {+ ]0 E' R. w% P. Y$ ^        }4 d/ k' r" M' z; M% Q
, w9 G5 ]  w" R1 t# V
}4 _3 b: z8 V) [
/ T5 k, i5 @2 T; |5 T
//format = initLinks('mouse-over colour', 'number of links', 'fade-out colour')
6 K( L6 `% L+ e( f( H' Z0 Z' |) ]% _* Y/ {3 @/ q& e
initLinks('#FF0000', 6, '#FFCC77');, y- b& g( }/ _' _7 `( `+ \
/ S# O$ S* G/ O% [7 q: d
//-->
7 U* O; t, b; b) _
; M4 P% r7 p. l0 F' X</script>
% w& D" B3 n5 R& n) k3 L/ e<a class="links" id="0" onmouseover="stopFade('0');" onmouseout="continueFade('0');" href="http://7wind.com/">国际域名:58元
0 u4 d% m$ P- {* s  W</a>2 r% c; O7 ?+ T- p0 H
<br>1 B; l- U" S6 D8 d
<a class="links" id="1" onmouseover="stopFade('1');" onmouseout="continueFade('1');" href="http://7wind.net/">国内域名:110元</a>
! E- [* n3 ^4 d" b+ T/ m<br>, e9 S1 W0 ?5 X' I9 ~
<a class="links" id="2" onmouseover="stopFade('2');" onmouseout="continueFade('2');" href="http://7wind.net">新一代企业信息系统</a>
$ {9 L2 o! K  c# b" q<br>        ! p3 z) `5 P2 b6 R- p. f# n/ [
<a class="links" id="3" onmouseover="stopFade('3');" onmouseout="continueFade('3');" href="http://7wind.net">新一代网络商城</a>+ q/ ~% y; o+ g+ l
<br>* Z( s$ `2 O. D) O1 H+ y1 I3 i
<a class="links" id="4" onmouseover="stopFade('4');" onmouseout="continueFade('4');" href="http://7wind.com/">全新的自助建站方式</a>. X! w" I5 ~# P- N, B1 p* ?/ E
<br>) v3 T* }6 F) K9 J+ Q  u8 o+ R. l
<a class="links" id="5" onmouseover="stopFade('5');" onmouseout="continueFade('5');" href="http://www.webdevelopersjournal.com/">全新的设计理念</a>
$ W1 k: t: x: F" ]+ G3 g0 c<script language="javascript" type="text/javascript">
) f: S/ l& ]2 s# O<!--! i: y1 _5 t1 m8 C
setTimeout('StartTimers()', 1000); //initial 1 second delay to allow page to load and ensure smooth shimmering
. w9 `. e4 c1 i! N9 C, N1 R//-->
2 A! f; s8 t+ W/ H1 j</script>

返回列表
【捌玖网络】已经运行: