标题:
网页之文字的循环闪动特效
[打印本页]
作者:
zw2004
时间:
2008-1-21 20:48
标题:
网页之文字的循环闪动特效
<script language="javascript" type="text/javascript">
4 K- L9 a! s: Q
<!--
: b9 J8 U& v3 Y2 O
// convert a single digit (0 - 16) into hex
: Y0 X! u7 I2 H9 f9 G3 `
function enHex(aDigit)
! _2 q! T$ N- n l
{
& N: {1 L% S' l' j$ O' M" T9 I
return("0123456789ABCDEF".substring(aDigit, aDigit+1))
+ j9 ~. z. w+ U: M7 V' B0 z
}
( z8 N0 z) N0 ^# g8 |
// convert a hex digit into decimal
; p& p, ^, T! t+ U$ d
function deHex(aDigit)
/ P* {4 q1 Q/ \ ^7 {
{
) A; [5 y0 E v4 W; E# w
return("0123456789ABCDEF".indexOf(aDigit))
, X6 Z A7 B; w" |
}
1 R. D3 Q/ B0 @+ N- z2 R8 C8 k
! G; n% Q4 i% T* n: O" l$ ~
// Convert a 24bit number to hex
/ g* J& k# e/ P8 J2 E1 J* h! Z4 Y
function toHex(n)
1 U1 `9 ~( G0 O( P! G/ L: u5 c3 c
{
, P* w6 U; C$ w
return (enHex((0xf00000 & n) >> 20) +
8 F+ s* m7 M5 ~; [$ T
enHex((0x0f0000 & n) >> 16) +
3 i8 C1 {" r2 i& F; I* o0 ^) I
enHex((0x00f000 & n) >> 12) +
& z; M8 x: G' w9 Y
enHex((0x000f00 & n) >> 8) +
# g8 y6 G; x# d M
enHex((0x0000f0 & n) >> 4) +
+ J! D* g8 U6 @/ h& `
enHex((0x00000f & n) >> 0))
$ `' L, a( S1 H
}
9 O& O) {$ ]5 [% z
// Convert a six character hex to decimal
6 U4 G" h0 }3 p5 k6 H! s
function toDecimal(hexNum)
5 m+ b( J' K# @: l
{
9 z1 C. | D u% x: Y- z
var tmp = ""+hexNum.toUpperCase()
$ b; h) i- [. H% N$ Q
while (tmp.length < 6) tmp = "0"+tmp
5 x+ k# M$ n& C
return ((deHex(tmp.substring(0,1)) << 20) +
, g3 n% V7 W* A, y- H0 V$ O" f3 w
(deHex(tmp.substring(1,2)) << 16) +
% ?8 ~! {4 M9 f0 v2 @6 y5 \7 x
(deHex(tmp.substring(2,3)) << 12) +
/ `4 @" P9 i& l: \
(deHex(tmp.substring(3,4)) << 8) +
: a" |" e m, o0 q
(deHex(tmp.substring(4,5)) << 4) +
, d' W& ]+ ~5 w* w/ V
(deHex(tmp.substring(5,6))))
# y* |$ X/ U. a/ Z% J$ B# n
}
4 E- o( s* Y8 V) o( Z$ c
///////////////////Shimmering Links/////////////////////
+ n; y# j7 }8 m6 A( G
//global variables
^, S' w' k( O* |& a. W4 n
var hoverColour
0 |- {; x. ?- `9 X
var numLinks;
( o3 a+ X: i4 f1 A* a, @! U, ^
var rate;
0 l9 q* |+ P) l1 c' ~: ]
var numFadeLevels;
# ~) I# ?& X0 p# n
var bgR;
+ x" w5 |9 x+ V0 B
var bgG;
( A7 N- N9 U7 V6 X# H
var bgB;
# `5 J4 A: u5 m! U$ p
var currR;
4 G1 S1 E1 ]# w n
var currG;
: Z: k* R/ i' M6 G I2 \
var currB;
3 q3 i& z- i5 g( c3 v O3 h9 G
var count;
4 b6 y: o, U- [: c& h9 p0 Z/ G" J
var fadeOut;
[0 I. A3 j, t" f1 N2 K, e
var continuous;
: z/ K/ C8 h+ Z6 y" d' J6 u
var newColour;
3 r" T5 `2 y* j: j( B
var tID;
% x1 ?) T6 }8 o0 ]
var redInterval;
- O k) C5 M' f& b0 e
var greenInterval;
. }. X6 T. I4 _+ Z7 y& R
var blueInterval;
& X9 e) c) z; }# n3 G9 \. |
function initLinks(mouseOverColour, numberOfLinks, fadeOutColour)
" E! J; P( S4 P8 M
{
5 f2 o& H9 j) `; \6 A$ Q1 Q
hoverColour = mouseOverColour;
' Q2 j9 v; v+ J6 u; u
numLinks = numberOfLinks;
. f6 w4 t. j2 `5 B# @
rate = 1;
1 h4 S6 ~- h6 L: F$ W0 N: D: p! ?
numFadeLevels = 30;
0 B4 o0 o! Z8 e8 E/ b4 E7 L
function initArray(theArray, length, val)
' U" j Q+ S: A$ m; j
{
8 o; V1 i4 ~! {
for(i=0;i<length;i++)
: A5 s* Y, H# b) D
{
1 K! r% h8 [8 W: x* s
theArray
= val;
+ L8 |2 r# ~' ~( }6 u, G
}
* S% D$ o9 a0 e4 I8 e
}
# ?& n) J, v5 t8 S& [5 w& V
bgR = '0000' + fadeOutColour.substring(1,3)
' U# g, \0 Z& m% t
bgG = '0000' + fadeOutColour.substring(3,5)
( V- z+ y! {0 e8 N
bgB = '0000' + fadeOutColour.substring(5,7)
Q; N ?1 S: i- l7 G
currR = new Array(numLinks);
: J3 n' K t) ~0 h9 n& ?0 ?
currG = new Array(numLinks);
$ j2 F* D1 n" |' I5 ]1 b
currB = new Array(numLinks);
8 V+ ~ I5 `9 g8 K- t) |/ E1 [. r
count = new Array(numLinks);
; T* J. Z4 P/ u8 v4 h v6 R
fadeOut = new Array(numLinks);
" T( J1 ?, e d8 X$ C
continuous = new Array(numLinks);
6 e- V4 o/ C- J) i
newColour = new Array(numLinks);
+ {* A2 v/ |5 t, m
tID = new Array(numLinks);
5 A# B5 P1 B; F2 o' w. ~* l% Q
redInterval = toDecimal(bgR) / numFadeLevels;
& J! w) l: E* K' B$ K
greenInterval = toDecimal(bgG) / numFadeLevels;
: S2 p+ j; x" u4 K
blueInterval = toDecimal(bgB) / numFadeLevels;
: `5 q, }( r* y+ _$ S) E9 q
initArray(currR,numLinks,0);
' K0 r; V8 f0 U* B1 S' H @
initArray(currG,numLinks,0);
/ N/ A: [, s- _0 Q% G8 F1 m: w' U# G* @
initArray(currB,numLinks,0);
% T2 J: r$ `! T
initArray(count,numLinks,0);
9 |4 y) x1 T* }
initArray(fadeOut,numLinks,true);
! c: e) T( Z0 c/ j& Z
initArray(continuous,numLinks,true);
, S7 Z. X2 K1 @3 K* E/ J
}
" X/ U% j7 D1 H; f% h
function startFade(id)
$ B; H9 J+ r* N& W) {4 j
{
' M3 d9 b. G. |- s" o
if(fadeOut[id] == true)
6 M5 J& V4 |3 p
{ /*move colour towards background colour (increment)*/
/ W" j6 g" u! p1 K5 K
currR[id] += redInterval;
; D" e8 G x6 r/ j
currG[id] += greenInterval;
/ L% A5 A \% A
currB[id] += blueInterval;
' @, \5 A- ]9 v, C
newColour[id] = '#' + (toHex(currR[id])).substring(4,6) + (toHex(currG[id])).substring(4,6) + (toHex(currB[id])).substring(4,6);
~8 O. A. p; j6 G8 H; L8 U: N/ Q" V A
if(++count[id] == numFadeLevels)
% N6 \1 O# `2 M7 S# a5 |9 b/ G: P* |
{
% F" a7 ~. B& o. K5 _: p
fadeOut[id] = false;
& q' M. T/ S8 t- l: H$ J j
}
7 h! k7 E. W" F7 I/ H5 Z2 q% R) x
}
+ V+ D+ _7 |& F+ C; O8 I9 i) p
else
' A+ j0 E `/ d6 w
{
) c* L1 F& U: M+ D. \% G
currR[id] -= redInterval;
: C9 v* S" y: p+ q( @ T+ @% Z) ^
6 R7 f9 T4 ^0 F, _7 t
currG[id] -= greenInterval;
1 c! Z6 A: Z: F/ g
' C2 O% H1 h: U; K9 q
currB[id] -= blueInterval;
1 E3 @! @3 i" j
+ C7 f4 _0 u" a+ Q; R( }8 K
newColour[id] = '#' + (toHex(currR[id])).substring(4,6) + (toHex(currG[id])).substring(4,6) + (toHex(currB[id])).substring(4,6);
! p6 y( b# H. I) D% m
' g1 ]8 d9 Q7 F3 `, B
if(--count[id] == 0)
5 P2 n( i7 b6 [9 Y& k
: E1 Z6 g) p4 l! L4 o1 T
{
: K- L0 ?, E g$ R& T" X
. |+ [5 [. r( C2 a" O( f/ g% p
fadeOut[id] = true;
! [7 B9 J5 h1 s
2 u D h7 V+ C2 L3 y
}
4 i, A. F+ K2 q$ z( x9 i6 m! H
4 b; n+ Y1 U8 V; `
}
; T! w) T, K: K \) q0 N
( R! l5 w3 C& [$ G' A/ E
if(continuous[id] == true)
2 x( x, w8 u7 s! T. E$ F
# a* u7 w- K' p4 j/ v# q4 s
{
; e2 n4 ?6 I, g
3 |$ h0 Z; Q- F$ v# W4 s: B+ |6 C
document.getElementById(id).style.color = newColour[id];
4 S& f% i# _) d% y
0 b# N$ f8 Y; b
}
7 u( v. Y# }+ k% m
' S5 D" b* Y$ b# k
else
$ l: H7 G1 O7 M- T& k: d
6 W* O, N6 a! n+ v
{
# Y( H" k7 t2 }. X, J: c
8 t9 p/ W3 J! K) t
document.getElementById(id).style.color = hoverColour;
4 W2 f: C6 N4 Z2 n
7 H- i5 J6 u* M0 Q* d1 I
}
0 E8 ?* j6 M6 R0 q' b4 ?
+ M# S8 i- Y# ]7 |! k% M7 Q
clearTimeout(tID[id]);
' _& ]$ o r6 i
1 Y6 a" D0 r" }: f' E) g2 _
tID[id]=setTimeout('startFade(' + id + ')', rate);
% H( z8 @6 {# m9 ?' o; n4 [$ x5 a
# g: z0 q2 H. o5 H' O
}
; R0 i0 V! A* d2 d* A7 {/ V
6 v! _5 d: _" @6 F9 [5 Z% j
function continueFade(id)
5 C# M! d" ]) q% Y8 k& L8 H
+ o# D; N( R2 s) s5 L: g8 h A' ?
{
/ J2 K X( u3 {. o8 E. o ^
$ D- C% c( C6 s; F$ y; |* q5 x4 f
continuous[id] = true;
8 A: t& d+ A: f* S; N
9 I- X. s1 h* {/ N: j* z
}
* [* v8 W. r6 D( q& Y8 U+ z
) I) u3 D8 r( [( Z5 ~6 q. p
function stopFade(id)
! Y2 Y$ M9 I' }$ u* A, b! F7 C, l# J/ }
1 K; ~' Q5 n* u
{
* y' f) k7 L. E8 z9 } b
; q2 `% u' J- Y! M8 M7 `
continuous[id] = false;
. x% i* Z" f7 i
5 q4 f/ x1 V6 j6 H n/ O
}
0 j) B3 @, E# }/ P- h' M8 ^
z2 r o0 K( S, S% L* e
function StartTimers()
W+ ~/ }8 p1 i* B0 N2 K
. t+ `1 ], D/ ~
{ //set up an initial set of timers to start the shimmering effect
8 N2 n* I2 A' Z8 c" r5 e; R
* u2 j4 g+ c7 x3 E P
for(id=0; id<numLinks; id++)
- P) z4 g8 _$ \. Q H9 `
( z0 j8 K2 m9 {7 t6 h
{
5 `! e! i6 }6 R7 ]
% a; @3 T% ] U" u- N. O1 O
t=setTimeout('startFade(' + id + ')', id*100);
- X; A8 N6 q& ]/ I
, g# }$ {' I5 {0 l: Z4 M
}
& e- P8 H6 {# n9 S: i
! m1 j- R# T d$ u
}
. B j' ]& H; O- d
$ @: F, c$ A/ ~( K7 L1 a) V
//format = initLinks('mouse-over colour', 'number of links', 'fade-out colour')
6 A( t( {6 T- S% k* H- j8 d$ I
# u7 O) P e, A( K6 T, ]
initLinks('#FF0000', 6, '#FFCC77');
/ [4 w' ^1 I" k+ X6 [6 J$ z
) l o' `0 ~- \* W
//-->
2 J) n7 E- M5 w) S# `
$ B& c( q: g( d
</script>
* @/ Q3 t8 ~' E, G" v; \0 C4 I6 i# c
<a class="links" id="0" onmouseover="stopFade('0');" onmouseout="continueFade('0');" href="http://7wind.com/">国际域名:58元
$ f! G, Y7 b9 u1 a5 N4 |
</a>
" q# w2 @, l! I" ^
<br>
5 h7 f7 w1 u: l9 x* V; {
<a class="links" id="1" onmouseover="stopFade('1');" onmouseout="continueFade('1');" href="http://7wind.net/">国内域名:110元</a>
' r6 m5 t. f+ L8 H3 x5 }/ ~- O/ ~% \
<br>
4 W1 J" z6 D% G3 F4 C
<a class="links" id="2" onmouseover="stopFade('2');" onmouseout="continueFade('2');" href="http://7wind.net">新一代企业信息系统</a>
) \. S6 R, r$ K3 f
<br>
& J6 Q0 O) u* u' w" |% k$ W2 t
<a class="links" id="3" onmouseover="stopFade('3');" onmouseout="continueFade('3');" href="http://7wind.net">新一代网络商城</a>
; u" N& V8 Z3 d/ p/ T, H- w4 ^
<br>
( E1 z2 G+ j9 _
<a class="links" id="4" onmouseover="stopFade('4');" onmouseout="continueFade('4');" href="http://7wind.com/">全新的自助建站方式</a>
2 t; g! C- {- H S$ M
<br>
% k; p9 X; {: ` [3 l: f
<a class="links" id="5" onmouseover="stopFade('5');" onmouseout="continueFade('5');" href="http://www.webdevelopersjournal.com/">全新的设计理念</a>
# {% C6 c+ O8 J* J
<script language="javascript" type="text/javascript">
! r8 U. _6 I) A9 V
<!--
% T8 e* I! a+ R; g. C
setTimeout('StartTimers()', 1000); //initial 1 second delay to allow page to load and ensure smooth shimmering
& u" M- N7 Q0 ^
//-->
# P" d! e% S- M% o* f& ]
</script>
欢迎光临 捌玖网络工作室 (http://89w.org/)
Powered by Discuz! 7.2