标题:
网页之文字的循环闪动特效
[打印本页]
作者:
zw2004
时间:
2008-1-21 20:48
标题:
网页之文字的循环闪动特效
<script language="javascript" type="text/javascript">
3 x9 x: G: K6 Z0 n
<!--
' ^/ R' i' _7 q/ g* f
// convert a single digit (0 - 16) into hex
, E) Z- K+ l5 I
function enHex(aDigit)
4 |; D6 f0 g& R3 b
{
R# O6 c8 z4 |
return("0123456789ABCDEF".substring(aDigit, aDigit+1))
- |% S8 Z9 B! T; T# n
}
6 R5 ^: t% C* t/ e! \
// convert a hex digit into decimal
, X# s5 b* v; ~: E3 l
function deHex(aDigit)
( w% W5 j v0 n4 D9 b
{
y' n; k* o- g/ \( M* g$ w% B
return("0123456789ABCDEF".indexOf(aDigit))
! s9 s5 ]& {9 t; U
}
( ?8 U3 @: u8 x( X ^
4 A/ W, I7 u9 k& O
// Convert a 24bit number to hex
. |. w1 G3 R( t: \, w
function toHex(n)
3 m9 }$ j. ?, c' d! [+ T' F
{
- J. G+ u3 Z6 M" J* _
return (enHex((0xf00000 & n) >> 20) +
, Y3 u) ^( b B9 }
enHex((0x0f0000 & n) >> 16) +
) w% s3 G" [$ B& a( U
enHex((0x00f000 & n) >> 12) +
" `- n6 _6 ]+ @/ S5 z$ U& l, Z3 D
enHex((0x000f00 & n) >> 8) +
. b3 ~- g! j& h+ m3 A
enHex((0x0000f0 & n) >> 4) +
. a2 I$ r* P" c( {* T! }
enHex((0x00000f & n) >> 0))
q& a- t$ Z3 N
}
5 K0 i, P/ t; o1 J' W: @
// Convert a six character hex to decimal
4 N9 q) z. x9 l% w, o. N, g
function toDecimal(hexNum)
/ n1 @! q; x d8 a
{
* s* c% m5 l* V
var tmp = ""+hexNum.toUpperCase()
. \1 ^) p& x a) C. f2 M: N
while (tmp.length < 6) tmp = "0"+tmp
2 M Z. h3 W- o
return ((deHex(tmp.substring(0,1)) << 20) +
! P1 V p8 A N& D' a4 Z
(deHex(tmp.substring(1,2)) << 16) +
' U% @9 m: o, |- v
(deHex(tmp.substring(2,3)) << 12) +
% y6 _' o/ p2 N7 S
(deHex(tmp.substring(3,4)) << 8) +
+ X# P, q: z* m* ~% P& X6 U
(deHex(tmp.substring(4,5)) << 4) +
# Z9 X6 ~4 V6 r, r" |2 }
(deHex(tmp.substring(5,6))))
$ @ ?( r0 H: z% _
}
- f4 g$ J9 L n. Q. f7 H
///////////////////Shimmering Links/////////////////////
' ?3 n% s5 x7 B( [" b0 A$ e* P( E$ X
//global variables
4 J0 {6 B/ ~3 }
var hoverColour
+ c) R, m& Q, p$ s
var numLinks;
1 M {3 q: U! j: ~
var rate;
2 S( ~& b2 u2 J! t
var numFadeLevels;
$ u/ k0 z O( p2 r4 n- S+ }4 w1 i
var bgR;
$ D# [8 n' ^8 ]/ {# ^
var bgG;
$ K3 y, M8 H, c$ G3 \
var bgB;
$ N; w+ f$ u) q0 D5 K _
var currR;
: x, b: o* H$ E7 p: u" X" \4 p
var currG;
9 n9 r' P4 e& R7 j) t0 i
var currB;
6 R/ w o- ~0 W$ W8 z3 P+ {& M
var count;
- a2 l0 w3 R! Q# \
var fadeOut;
0 A C9 }# e- v; E7 x
var continuous;
Z' c- O, @" f
var newColour;
. R+ Z( k" @" l( G
var tID;
, T- K& D+ ]/ z4 U: s5 L
var redInterval;
$ b9 k2 A1 q- R9 |4 r! r5 [: \
var greenInterval;
$ N' a( }/ @3 \ `* d& G' F! Y
var blueInterval;
& i, J2 v- t3 U4 \+ E1 }$ B% Q
function initLinks(mouseOverColour, numberOfLinks, fadeOutColour)
4 Q' h& N3 C, I: h
{
1 }5 H7 {/ a' r
hoverColour = mouseOverColour;
9 o7 _! L8 N$ B9 b- {' d
numLinks = numberOfLinks;
; Y% z; _) X' g# _) ?2 z1 C
rate = 1;
8 ?( O9 ~/ l5 C
numFadeLevels = 30;
9 H+ p! ~, l- _$ b; R6 J# ]- ^
function initArray(theArray, length, val)
2 ^ n; I' L; x1 o* [
{
9 \+ O! a3 @) t. m7 P" Y" s& c
for(i=0;i<length;i++)
* K! U& `9 T/ G% v8 b5 M
{
; x0 ]8 Q3 F( S+ K
theArray
= val;
1 r$ p! H" n+ S6 F& H. o
}
4 E$ t& Z& L4 D6 w1 k2 ^& ` b
}
3 F) P" ^' v' C1 @+ U( F+ g; t
bgR = '0000' + fadeOutColour.substring(1,3)
1 X) u) C+ J- ]4 a
bgG = '0000' + fadeOutColour.substring(3,5)
! k' x& x+ _( L* Y2 [, o
bgB = '0000' + fadeOutColour.substring(5,7)
- t- I, F# H }
currR = new Array(numLinks);
/ J' p1 B" V8 A" z
currG = new Array(numLinks);
' Q& z2 i# B2 ^
currB = new Array(numLinks);
. ^# g$ u' H1 }- S: ^
count = new Array(numLinks);
* W) w5 y/ L" M; i7 u1 S- |
fadeOut = new Array(numLinks);
/ U3 p% r' t6 D) D% @
continuous = new Array(numLinks);
- N M! i9 R* W$ h
newColour = new Array(numLinks);
8 H {% q! f8 A. p
tID = new Array(numLinks);
3 ?8 r! I" j( J- x* ?2 x# I( F6 U
redInterval = toDecimal(bgR) / numFadeLevels;
' _2 f' L5 o' r+ D5 H m) W4 R ]
greenInterval = toDecimal(bgG) / numFadeLevels;
$ Y: }" i: a' F/ Z
blueInterval = toDecimal(bgB) / numFadeLevels;
- _+ n% ?, s" w, f! ?
initArray(currR,numLinks,0);
+ G' ^ i* x, b4 Q4 a+ e9 x! B
initArray(currG,numLinks,0);
- e* O% E1 N8 N9 f. `
initArray(currB,numLinks,0);
3 v$ H9 m6 Z6 i" ]9 C" R, d
initArray(count,numLinks,0);
% n, c& i5 C t% ]- r; Y9 Q: c
initArray(fadeOut,numLinks,true);
1 r" S4 p6 h1 J7 A8 d) z, h- j
initArray(continuous,numLinks,true);
7 |: C7 M+ h3 h1 N6 U: H
}
+ T, M8 ^6 b! I4 T" c e
function startFade(id)
1 V* a) c3 B- c3 U; K# J/ B
{
+ S5 Z% t% ?2 l9 i
if(fadeOut[id] == true)
6 A7 e9 a( {9 ?( }, z+ i d
{ /*move colour towards background colour (increment)*/
- _, p1 E- R \* r2 {. @7 P$ M E) n
currR[id] += redInterval;
H' C5 A( ~/ A4 Z) w) F
currG[id] += greenInterval;
* L1 T! F, R1 o! N
currB[id] += blueInterval;
0 y7 S9 h) f/ y+ o9 V8 [
newColour[id] = '#' + (toHex(currR[id])).substring(4,6) + (toHex(currG[id])).substring(4,6) + (toHex(currB[id])).substring(4,6);
$ k5 `* S9 | g' Z% a J' }) c
if(++count[id] == numFadeLevels)
5 e6 J- ^/ v% L% y/ {1 |
{
; i! j+ [ [& W& g* V& l# L5 C
fadeOut[id] = false;
& @. S$ Y* }4 ^
}
9 n5 q' v0 M; v. F0 ~
}
( ^/ X6 x' M% c- k T+ k
else
9 W# e) O" G7 q$ A4 Y: H
{
1 G- M1 _% m8 X7 z& g3 @) `
currR[id] -= redInterval;
) {. K8 j3 o' y& r6 j; X
& |! y* M, V! w) e6 v
currG[id] -= greenInterval;
0 p+ V9 W; b# {
! ? V* E- `- w- g* H7 a
currB[id] -= blueInterval;
* {; U% \ G: s. y2 a
; F: X8 q; Q0 A- x, j
newColour[id] = '#' + (toHex(currR[id])).substring(4,6) + (toHex(currG[id])).substring(4,6) + (toHex(currB[id])).substring(4,6);
% J+ c4 W/ u* {8 R8 ^! j, Y, w
5 C/ \( c4 i2 W
if(--count[id] == 0)
5 r, I2 r- g& l( M5 K) V- i
, q z3 A& z, f$ h" ?
{
/ G! p1 o6 m8 s; {, b- ?2 _
, N7 ?* e0 z( f: q3 R" A
fadeOut[id] = true;
; |$ o# }) \6 z+ w4 ~ C
# k% z" F5 a7 m# ~: m; K3 p
}
# Y: ^$ i6 q: w4 j* s! J
" S4 x2 u2 v2 i" g4 S3 _6 `! a
}
& _3 x( |9 {, Y ^
) L6 ]* v$ `) g' u5 t
if(continuous[id] == true)
7 B3 e) M* g- q
: g4 g/ l+ ]$ w6 s: [
{
; b1 g- y+ @- y3 w0 P
7 }# n, E2 y& J9 ^! y3 B% H" R2 b' K
document.getElementById(id).style.color = newColour[id];
2 x$ [6 m: \ K1 o
8 H) N' o( Y! V; a- _
}
* m% }9 a7 [" L/ I9 B7 X: e
l& T' `5 c9 q- s- e- o; h
else
0 A6 ?8 _6 v W# R- t" h
9 M/ s) j P7 Q3 Q/ e
{
: ^! ?& h) r2 z, G# S- E% Q
G0 y" H/ r8 x3 T4 r2 l R
document.getElementById(id).style.color = hoverColour;
. M! \0 j. P4 G8 C0 w: _
s* L/ ]( o% p5 K% b
}
' M+ N& R: F7 V+ ]% G
; x' y% T; {9 D$ O8 ~
clearTimeout(tID[id]);
, a5 k0 s' q' i( M6 A3 H! p
4 X, L8 I7 u+ A8 b- y W
tID[id]=setTimeout('startFade(' + id + ')', rate);
3 K& d9 C, Y- a4 a2 I
9 s5 x# |3 C8 J5 n( I' Y/ T$ ?
}
, I* {/ Y. K. c. c, ?1 t6 w$ x
, P8 C, |- Y! X2 ^8 u$ T" I
function continueFade(id)
' c: R% a" d. N6 I% P4 X
5 m7 u) }1 o3 d- F+ x3 F
{
/ U: m7 x+ u$ h
9 `8 v- h8 T6 |3 E$ w# T7 |
continuous[id] = true;
; C! V) d5 F0 E+ D
. z' N7 G' a, ?, {% O
}
4 M0 d3 K2 J/ c7 {$ u
; F& E# c' c! n: |
function stopFade(id)
8 ?3 ^1 H; K! _7 H- I4 s' ^' i
+ Q; T: D7 n8 }% L- w" n
{
{* ~; j b$ j+ T5 T" E- \
* r9 H$ P+ `* ]" S
continuous[id] = false;
) V. F+ B6 k- W, y& L$ v- q/ J
! c) X8 A4 W+ w! y* n
}
- c5 Z. [1 g& W: G$ m2 c
# e; M, C" i( R% }
function StartTimers()
2 V4 N0 h: d. W8 r* I) x9 L
* C0 d0 N: x( G7 i/ i) O
{ //set up an initial set of timers to start the shimmering effect
; P* b p5 Q$ b
2 B$ E- K! [' l7 c
for(id=0; id<numLinks; id++)
# U( _ N8 K% X6 ?
' H, R0 P* }0 H3 ^
{
7 P* F# b& I( Q( G
* b+ N i& m5 _2 D) `
t=setTimeout('startFade(' + id + ')', id*100);
9 G' A! f( i9 Q4 W
% ?8 {" F; [8 _7 Y# Y" b
}
! ^2 `% {0 ^: ]. P# j8 p
5 J: y, m5 {+ ?4 s5 T
}
/ L- ~+ E+ a1 R1 v4 H9 R& j
9 c z9 p& b" `8 ?$ S+ t
//format = initLinks('mouse-over colour', 'number of links', 'fade-out colour')
: n5 z! e$ }$ ^, Z" t1 @4 ]$ Q
. Q! N# ]+ i2 R v: E q
initLinks('#FF0000', 6, '#FFCC77');
C! e: z$ Z5 d- k
& J3 |" E. M. n" U
//-->
7 ^3 X1 E L- a) j
' B9 _( I( r' H: Z4 A) Q
</script>
) C! ]: |8 \0 Z! f" @- L* Q
<a class="links" id="0" onmouseover="stopFade('0');" onmouseout="continueFade('0');" href="http://7wind.com/">国际域名:58元
, k: }$ Y/ K: t. p% ^: D" E2 N
</a>
" R5 W) C: q( v1 I/ v, \9 t' j
<br>
4 X! L* k. G* Z
<a class="links" id="1" onmouseover="stopFade('1');" onmouseout="continueFade('1');" href="http://7wind.net/">国内域名:110元</a>
D1 B8 t. y& [' m0 S% }( e4 t0 |
<br>
; M9 u7 q L+ {8 R7 E
<a class="links" id="2" onmouseover="stopFade('2');" onmouseout="continueFade('2');" href="http://7wind.net">新一代企业信息系统</a>
# j4 B6 d+ L1 |* j/ W" R
<br>
5 `( s$ w; P/ H7 W5 R6 |; ]" F
<a class="links" id="3" onmouseover="stopFade('3');" onmouseout="continueFade('3');" href="http://7wind.net">新一代网络商城</a>
6 ~+ V& p: {) [) n, {
<br>
% C4 w* [4 a8 z$ m1 Q, \. m
<a class="links" id="4" onmouseover="stopFade('4');" onmouseout="continueFade('4');" href="http://7wind.com/">全新的自助建站方式</a>
; {* V# y+ D: c! x; f1 Q
<br>
; l+ c/ v6 b6 P; t2 ]+ i, {
<a class="links" id="5" onmouseover="stopFade('5');" onmouseout="continueFade('5');" href="http://www.webdevelopersjournal.com/">全新的设计理念</a>
}& u( x8 k" r- o5 K* _
<script language="javascript" type="text/javascript">
# ~% B4 s5 E A8 _3 h- X
<!--
N/ \ t0 |8 ]4 z- n
setTimeout('StartTimers()', 1000); //initial 1 second delay to allow page to load and ensure smooth shimmering
) n0 A0 \2 x3 |4 i( {7 F( j
//-->
7 B# N. [! Z5 \" ?& `. @
</script>
欢迎光临 捌玖网络工作室 (http://89w.org/)
Powered by Discuz! 7.2