网页之多变的滚动字幕特效
<script language="JavaScript">
' p, w& i5 ^" n7 S" J( e* t7 b- f9 v9 v
<!-- ActiveASCII by Neal Kanodia (please, don't delete this line)
" [; s4 Q4 x8 f- D; L9 F& W' R
! X( I0 w! `" Afunction createArr(num) { for(var i = 0; i < num; i++) { this = null } }
. ?; R9 ?; C. y( f' l' @ Ifunction fillArr(tx,me,ti,wa) { this.text = tx; this.method = me.toLowerCase(); this.ticks = ti; this.wait = wa }
8 j. c2 X8 t* S3 O& k1 kfunction block(num,txt,mthod,tcks,wit) { blocks[num] = new fillArr(txt,mthod,tcks,wit) }
7 i+ T& X% V: ]3 S- d7 |1 c$ lfunction ms(unt) { var sp = ""; for( var i = 1; i <= unt; i++ ) { sp += " " } return(sp) }
2 q g7 q6 ^8 T$ D* o' tfunction Activate() { if (cblock == max) { cblock = 0; if (iloop == 0) { loops--; if (loops == 0) { meth = "0" } else { meth = blocks[cblock].method } } else { meth = blocks[cblock].method } } else { meth = blocks[cblock].method }6 @. G6 y, C8 P6 x1 F
if (meth == "0") { document.Active.ASCII.value = end } q' X1 y6 Y- G
if (meth == "display") { Tape = blocks[cblock].text; Wait = blocks[cblock].wait; Display() }, r# o( }* _ z# e# Z: w
if (meth == "display center") { Tape = blocks[cblock].text; Wait = blocks[cblock].wait; half = Tape.length / 2; DisplayC() }! N1 D6 u" O' L
if (meth == "scroll left") { clen = tlen; Tape = blocks[cblock].text; Ticks = blocks[cblock].ticks; tTicks = Ticks * 2; ScrollL() }
- t) B1 Q- U% Cif (meth == "scroll right") { clen = 0 - blocks[cblock].text.length; Tape = blocks[cblock].text; Ticks = blocks[cblock].ticks; tTicks = Ticks * 2; ScrollR() }- S8 V' s* }. N9 s+ l! ]; E
if (meth == "scroll lc") { clen = 0 - blocks[cblock].text.length; Tape = blocks[cblock].text; Ticks = blocks[cblock].ticks; Wait = blocks[cblock].wait; tTicks = Ticks * 2; half = Tape.length / 2; ScrollLC() }
6 g. l$ R4 s6 h" V0 lif (meth == "scroll rc") { clen = tlen; Tape = blocks[cblock].text; Ticks = blocks[cblock].ticks; Wait = blocks[cblock].wait; tTicks = Ticks * 2; half = Tape.length / 2; ScrollRC() }6 I* U2 E8 l2 b6 i
if (meth == "scroll cl") { Tape = blocks[cblock].text; Ticks = blocks[cblock].ticks; tTicks = Ticks * 2; half = Tape.length / 2; clen = cent - half; ScrollCL() }
r Z" _, L& P g( j: Z* q# Y* iif (meth == "scroll cr") { Tape = blocks[cblock].text; Ticks = blocks[cblock].ticks; tTicks = Ticks * 2; half = Tape.length / 2; clen = cent - half; ScrollCR() }& t2 H) W8 X. C+ p+ \
if (meth == "slide left") { Tape = blocks[cblock].text; Ticks = blocks[cblock].ticks; Wait = blocks[cblock].wait; cpos = 0; clet = Tape.charAt(cpos); clen = tlen; cstr = ""; SlideL() }
, `; Y1 Q2 N/ jif (meth == "slide lc") { Tape = blocks[cblock].text; Ticks = blocks[cblock].ticks; Wait = blocks[cblock].wait; cpos = Tape.length - 1; clet = Tape.charAt(cpos); clen = 0; cstr = ""; half = Tape.length / 2; iba = cent - half; ib = ms(iba); SlideLC() }/ \2 T* R" v2 x# z5 d
if (meth == "slide rc") { Tape = blocks[cblock].text; Ticks = blocks[cblock].ticks; Wait = blocks[cblock].wait; cpos = 0; clet = Tape.charAt(cpos); cstr = ""; half = Tape.length / 2; clen = cent + half; fs = ms(cent - half); SlideRC() }& q ]) F) t' `0 s$ M7 k4 Q) |
if (meth == "slide cl") { Tape = blocks[cblock].text; Ticks = blocks[cblock].ticks; cpos = 0; clet = Tape.charAt(cpos); cstr = Tape.substring(1,Tape.length); half = Tape.length / 2; clen = cent - half; iba = 0; ib = ms(iba); SlideCL() }
) ]. @. v2 ?0 Y; `if (meth == "slide cr") { Tape = blocks[cblock].text; Ticks = blocks[cblock].ticks; cpos = Tape.length - 1; clet = Tape.charAt(cpos); cstr = Tape.substring(0,Tape.length - 1); half = Tape.length / 2; clen = 0; fs = ms(cent - half); SlideCR() }
" a: z- |! R |3 @if (meth == "slip left") { clen = 0; Tape = blocks[cblock].text; Ticks = blocks[cblock].ticks; SlipL() }
! n& M" m. |* F: A% h: ?if (meth == "slip right") { clen = 0; Tape = blocks[cblock].text; Ticks = blocks[cblock].ticks; SlipR() }
! H/ ^9 d! s4 \4 {1 A! P0 |4 eif (meth == "slip letter") { Tape = blocks[cblock].text; Ticks = blocks[cblock].ticks; cpos = Tape.length - 1; clet = Tape.charAt(cpos); cstr = Tape.substring(0,Tape.length - 1); clen = 0; SlipLet() }
; w/ S* F: J8 g; o) b1 u* h: Sif (meth == "split"){ Tape = blocks[cblock].text; Ticks = blocks[cblock].ticks; var iii = Tape.length / 2; if (iii / 2 != Math.ceil(iii / 2)) { Tape = Tape + " " } hstr1 = Tape.substring(0,Tape.length/2); hstr2 = Tape.substring(Tape.length/2,Tape.length); tTicks = Ticks * 2; clen = cent - hstr1.length; iba = 0; ib = ms(iba); Split() }
# l% \1 F8 x: v: x* V, Yif (meth == "merge"){ Tape = blocks[cblock].text; Ticks = blocks[cblock].ticks; var iii = Tape.length / 2; if (iii / 2 != Math.ceil(iii / 2)) { Tape = Tape + " " } hstr1 = Tape.substring(0,Tape.length/2); hstr2 = Tape.substring(Tape.length/2,Tape.length); tTicks = Ticks * 2; clen = 0 - hstr1.length; iba = tlen; ib = ms(iba); Wait = blocks[cblock].wait; Merge() } }
9 ?; O; T" X2 }" V% C7 Z, w! U' rfunction Display() { document.Active.ASCII.value = Tape; cblock++; timerID = setTimeout("Activate()",Wait) }
* y4 F, N- y* e# Afunction DisplayC() { var temp = cent - half; ini = ms(temp); document.Active.ASCII.value = ini + Tape; cblock++; timerID = setTimeout("Activate()",Wait) }
0 @* h1 F, n: o4 M, Y9 [/ rfunction ScrollL() { if (clen >= 0) { ini = ms(clen); tickered = ini + Tape; document.Active.ASCII.value = tickered; clen--; timerID = setTimeout("ScrollL()",Ticks) } else { beg = 0 - clen; if (beg == Tape.length) { document.Active.ASCII.value = ""; cblock++; timerID = setTimeout("Activate()",Ticks) } else { tickered = Tape.substring(beg,tlen); document.Active.ASCII.value = tickered; clen--; timerID = setTimeout("ScrollL()",tTicks) } } }1 ^+ k, k3 A$ q. A5 }3 x2 A9 F* Z
function ScrollR() { if (clen >= 0) { if (clen > tlen) { document.Active.ASCII.value = ""; cblock++; timerID = setTimeout("Activate()",Ticks) } else { ini = ms(clen); tickered = ini + Tape; document.Active.ASCII.value = tickered; clen++; timerID = setTimeout("ScrollR()",Ticks) } } else { beg = 0 - clen; tickered = Tape.substring(beg,tlen); document.Active.ASCII.value = tickered; clen++; timerID = setTimeout("ScrollR()",tTicks) } }1 i# C- u+ O0 a$ y
function ScrollLC() { if (clen >= 0) { if (cent <= (clen + half)) { cblock++; timerID = setTimeout("Activate()",Wait) } else { ini = ms(clen); tickered = ini + Tape; document.Active.ASCII.value = tickered; clen++; timerID = setTimeout("ScrollLC()",Ticks) } } else { beg = 0 - clen; if (cent <= (clen + half)) { cblock++; timerID = setTimeout("Activate()",Wait) } else { tickered = Tape.substring(beg,tlen); document.Active.ASCII.value = tickered; clen++; timerID = setTimeout("ScrollLC()",tTicks) } } }0 ^' O# g( _& P: M8 q& z5 n
function ScrollRC() { if (clen >= 0) { if (cent >= (clen + half)) { cblock++; timerID = setTimeout("Activate()",Wait) } else { ini = ms(clen); tickered = ini + Tape; document.Active.ASCII.value = tickered; clen--; timerID = setTimeout("ScrollRC()",Ticks) } } else { beg = 0 - clen; if (cent >= (clen + half)) { cblock++; timerID = setTimeout("Activate()",Wait) } tickered = Tape.substring(beg,tlen); document.Active.ASCII.value = tickered; clen--; timerID = setTimeout("ScrollRC()",tTicks) } }3 j4 E; x9 \6 h) ]2 V
function ScrollCL() { if (clen >= 0) { ini = ms(clen); tickered = ini + Tape; document.Active.ASCII.value = tickered; clen--; timerID = setTimeout("ScrollCL()",Ticks) } else { beg = 0 - clen; if (beg >= Tape.length) { document.Active.ASCII.value = ""; cblock++; timerID = setTimeout("Activate()",Wait) } else { tickered = Tape.substring(beg,tlen); document.Active.ASCII.value = tickered; clen--; timerID = setTimeout("ScrollCL()",tTicks) } } }5 l8 P# r1 C+ }; v7 v( |9 |, P
function ScrollCR() { if (clen >= 0) { if (clen > tlen) { document.Active.ASCII.value = ""; cblock++; timerID = setTimeout("Activate()",Wait) } else { ini = ms(clen); tickered = ini + Tape; document.Active.ASCII.value = tickered; clen++; timerID = setTimeout("ScrollCR()",Ticks) } } else { beg = 0 - clen; tickered = Tape.substring(beg,tlen); document.Active.ASCII.value = tickered; clen++; timerID = setTimeout("ScrollCR()",tTicks) } }. C' R1 U x, ^, U+ r% p2 e6 o1 E$ t
function SlideL() { if (clen >= 0) { ini = ms(clen); tickered = cstr + ini + clet; document.Active.ASCII.value = tickered; clen -= 3; timerID = setTimeout("SlideL()",Ticks) } else { document.Active.ASCII.value = cstr + clet; cstr = document.Active.ASCII.value; clen = tlen - cstr.length; cpos++; clet = Tape.charAt(cpos); if (clet == " ") { cstr = cstr + " "; cpos++; clet = Tape.charAt(cpos) } if (clet == "") { cblock++; timerID = setTimeout("Activate()",Wait) } else { timerID = setTimeout("SlideL()",Ticks) } } }9 w- D4 {7 c- L- z
function SlideLC() { if (clen <= cent - half) { ini = ms(clen); tickered = ini + clet + ib + cstr; document.Active.ASCII.value = tickered; clen += 3; iba -= 3; ib = ms(iba); timerID = setTimeout("SlideLC()",Ticks) } else { iba = cent - half; ini = ms(iba); ib = ms(iba); document.Active.ASCII.value = ini + clet + cstr; cstr = clet + cstr; clen = 0; cpos--; if (cpos >= 0) { clet = Tape.charAt(cpos); if (clet == " ") { cstr = " " + cstr; cpos--; clet = Tape.charAt(cpos) } timerID = setTimeout("SlideLC()",Ticks) } else { cblock++; timerID = setTimeout("Activate()",Wait) } } }
5 b& I. P* L: V- W2 Qfunction SlideRC() { if (clen >= 0) { ini = ms(clen); tickered = fs + cstr + ini + clet; document.Active.ASCII.value = tickered; clen -= 3; timerID = setTimeout("SlideRC()",Ticks) } else { clen = cent + half; cstr += clet; document.Active.ASCII.value = fs + cstr; cpos++; clet = Tape.charAt(cpos); if (clet == " ") { cstr = cstr + " "; cpos++; clet = Tape.charAt(cpos) } if (clet == "") { document.Active.ASCII.value = fs + Tape; cblock++; timerID = setTimeout("Activate()",Wait) } else { timerID = setTimeout("SlideRC()",Ticks) } } }
; `8 V/ x6 C0 a( K2 X! Vfunction SlideCL() { if (clen > 0) { ini = ms(clen); tickered = ini + clet + ib + cstr; document.Active.ASCII.value = tickered; clen -= 3; iba += 3; ib = ms(iba); timerID = setTimeout("SlideCL()",Ticks) } else { iba = 0; ib = ms(iba); clen = cent - half; ini = ms(clen); document.Active.ASCII.value = ini + cstr; cstr = cstr.substring(1,Tape.length); cpos++; clet = Tape.charAt(cpos); if (clet == " ") { cstr = cstr.substring(1,Tape.length); cpos++; clet = Tape.charAt(cpos) } if (clet == "") { document.Active.ASCII.value = ""; cblock++; timerID = setTimeout("Activate()",Ticks) } else { timerID = setTimeout("SlideCL()",Ticks) } } }6 A2 @8 R B0 b* v$ u) O
function SlideCR() { if (clen <= cent + half) { ini = ms(clen); tickered = fs + cstr + ini + clet; document.Active.ASCII.value = tickered; clen += 3; timerID = setTimeout("SlideCR()",Ticks) } else { clen = 0; document.Active.ASCII.value = fs + cstr; cstr = cstr.substring(0,cstr.length - 1); cpos--; half += 1; if (cpos >= 0) { ; clet = Tape.charAt(cpos); if (clet == " ") { cstr = cstr.substring(0,cstr.length - 1); cpos--; clet = Tape.charAt(cpos) } timerID = setTimeout("SlideCR()",Ticks) } else { cblock++; timerID = setTimeout("Activate()",Ticks) } } }
% o3 h/ C- |9 t* Ufunction SlipR() { if (clen >= 0) { if (clen > tlen) { document.Active.ASCII.value = ""; cblock++; timerID = setTimeout("Activate()",Ticks) } else { ini = ms(clen); tickered = ini + Tape; document.Active.ASCII.value = tickered; clen++; timerID = setTimeout("SlipR()",Ticks) } } else { beg = 0 - clen; tickered = Tape.substring(beg,tlen); document.Active.ASCII.value = tickered; clen++; timerID = setTimeout("SlipR()",Ticks) } }8 V$ I3 |+ `8 |* ~, B
function SlipL() { if (clen >= 0) { ini = ms(clen); tickered = ini + Tape; document.Active.ASCII.value = tickered; clen--; timerID = setTimeout("SlipL()",Ticks) } else { beg = 0 - clen; if (beg == Tape.length) { document.Active.ASCII.value = ""; cblock++; timerID = setTimeout("Activate()",Ticks) } else { tickered = Tape.substring(beg,tlen); document.Active.ASCII.value = tickered; clen--; timerID = setTimeout("SlipL()",Ticks) } } }
' N3 Q& w9 {$ p$ k* bfunction SlipLet() { if (clen < tlen) { ini = ms(clen); tickered = cstr + ini + clet; document.Active.ASCII.value = tickered; clen += 3; timerID = setTimeout("SlipLet()",Ticks) } else { clen = 0; cstr = cstr.substring(0,cstr.length - 1); cpos--; if (cpos >= 0) { ; clet = Tape.charAt(cpos); if (clet == " ") { cstr = cstr.substring(0,cstr.length - 1); cpos--; clet = Tape.charAt(cpos) } timerID = setTimeout("SlipLet()",Ticks) } else { cblock++; timerID = setTimeout("Activate()",Ticks) } } }
/ @& U0 y2 Q2 n7 e! w1 yfunction Split() { if (clen >= 0) { ini = ms(clen); tickered = ini + hstr1 + ib + hstr2; document.Active.ASCII.value = tickered; clen--; iba += 2; ib = ms(iba); timerID = setTimeout("Split()",Ticks) } else { if (clen <= 0 - hstr1.length) { cblock++; timerID = setTimeout("Activate()",Ticks) } else { beg = 0 - clen; tickered = hstr1.substring(beg,tlen); document.Active.ASCII.value = tickered + ib + hstr2; clen--; iba += 2; ib = ms(iba); timerID = setTimeout("Split()",tTicks) } } }, E, V( u" d0 a. i5 f1 l
function Merge() { if (clen >= 0) { if (clen > cent - hstr1.length) { tickered = ini + hstr1 + hstr2; document.Active.ASCII.value = tickered; cblock++; timerID = setTimeout("Activate()",Wait) } else { ini = ms(clen); tickered = ini + hstr1 + ib + hstr2; document.Active.ASCII.value = tickered; clen++; iba -= 2; ib = ms(iba); timerID = setTimeout("Merge()",Ticks) } } else { beg = 0 - clen; tickered = hstr1.substring(beg,tlen); document.Active.ASCII.value = tickered + ib + hstr2; clen++; iba -= 4; ib = ms(iba); timerID = setTimeout("Merge()",tTicks) } }
+ H( `% m) n4 _ k6 }5 v
5 n. C; A. K: J9 b' ~% |/////////////////////////////////////////////////////////////////
' S C* I: n$ p% N5 d& Q//# User Vars
2 w: P) g( j+ o' p/ S( Q// Number of blocks (see bottom) to be displayed.. `& r& A' n% B( y" ~/ @
// ***COMMON ERROR***: Make sure to set this value according to the
! L6 x& z# A' v, @// number of blocks (always the last block # + 1)!% h9 ?( k) O3 P- k3 Q! `" t
var max = 18
' I9 p+ |* F+ M/ I8 C
4 }/ u; [) x, w// Don't change this!6 x/ @ a! ^6 q2 T. E, f
var blocks = new createArr(max)$ `5 a1 B! f/ a( ]6 P3 S
3 p4 q# u0 E1 l$ [! z! n0 l- [// Length of textbox- }' o! ]" J& X4 C
// ***COMMON ERROR: If you change this or the length of the
* C' ^8 v: x# O: ^2 |! v// textbox, remember to change the other accordingly.**** n5 _) I+ W! y: r. @+ S
var len = 50+ T4 F2 }( A$ |4 p4 a
* M Z7 T" [9 P1 K9 f! S5 u
// Number of time to loop ALL blocks (use 0 for unlimited)$ }9 t O8 v# U% W p
var loops = 0, x/ Y5 g8 J9 b& W( [2 J, d
0 P# B1 x. |8 q6 z4 n
// If you set the number of loops, set the final messege4 V/ D: L$ t9 p* G' f9 H* b
var end = 'End of "ActiveASCII" by Neal Kanodia.'
* s, d* Z7 H* U1 @9 _
" t. N; J0 i2 }( y/ j// Use this format for each string (starting at 0 until 1 less# W* z* S, H9 @& r
// than max):
$ V# _" G, T% |& |. z* _// block(#block,"Text to display","Method",#ticks,#wait); ?7 H) p- R+ f7 D. \( x4 M
// example: block(0,"1st block.","Scroll Left",25,0)7 z) p& n9 Q% T. \% x
// ***COMMON ERROR***: If you add a block INCREASE MAX BY 1
2 Q8 F7 [" B* {$ c6 x// ***COMMON ERROR***: If you remove a block DECREASE MAX BY 1: ]" A$ c5 E" i/ A) F- {
// ***COMMON ERROR***: Check the spelling of your methods!!!. H& r, i; k" d! j, y, v
block(17,"欢迎光临七色风!","display",0,500)5 w3 X- E# K2 u2 v; R
block(18,"新一代网络商城!","display center",0,500)
# I. `; s/ G; w wblock(2,"新一代企业信息系统!","scroll left",25,0)
* G& V+ C b6 ~ ?# D. Y" hblock(3,"全新的自助建站模式!","scroll right",25,0)
! S' }2 Y1 t+ R4 p" Hblock(4,"欢迎光临七色风!","scroll lc",25,500)
' Z |* t0 r1 Ublock(5,"欢迎光临!","scroll rc",25,500)
4 y; _$ I4 `5 tblock(6,"欢迎光临!","scroll cl",25,0)5 ` i$ P8 Q0 E6 ^. h# N
block(7,"欢迎光临!","scroll cr",25,0)5 @# J1 n" h9 H: f: z
block(8,"欢迎光临!","slide left",25,500)! ^ J" w9 l' V
block(9,"欢迎光临!","slide lc",25,500)! E$ R% a' h4 z0 b9 j7 n) }8 G
block(10,"欢迎光临!","slide rc",25,500)0 _# w! p) y5 m% \
block(11,"欢迎光临!","slide cl",25,0)
5 [; B* @ I( N- g3 gblock(12,"国内域名:110元!","slide cr",25,0)
8 P9 x( Y# r$ { j3 @* B% @3 Zblock(13,"国际域名:58元!","slip left",25,0)$ p/ `/ b* T3 ? ]
block(14,"欢迎光临中讯数据!","slip right",25,0)
7 Q: s4 S5 f# J. W; \! Iblock(15,"欢迎您的光临","slip letter",25,0). @* a. @% N3 o* q2 k1 g. v
block(16,"","display",0,500)
& s2 S7 D) |4 v- ^& }block(0,"欢迎欢迎!","merge",25,1000)
8 l; t; W6 K5 r, T2 a3 |4 cblock(1,"欢迎!","split",25,0)
5 j; Q2 M3 `7 h- F4 a( ~//End User Vars$ x, \) x \9 }/ b( r
/////////////////////////////////////////////////////////////////) W. ~2 ?& g# t) E0 ]# b% [; W2 L
; B$ n5 y9 z9 ]5 f$ \ b. g
// Don't change!!!
( u) C3 n% D- ^# Q. _$ _& D) C, Yvar tlen = 2.4 * len
$ i" q2 v: ] g3 O; t( M6 Svar cent = tlen / 2.2/ l; E, U+ j8 e
var clen = null
' N+ w$ d; z; g$ { ivar tickered = null
$ W: \( }2 q9 y ovar ini = null8 H, M% Y) D) T% N# g
var iloop = 0
% C4 Z; i' ~& g) N& cif (loops == 0) {iloop = 1}6 w, Q7 n7 a! `9 u
var cblock = 0
0 |$ r- k; i0 l% `: [, u/ J. i, k2 h0 y: jvar timerID = null$ \- f4 W, t# z C
var beg = null1 W; e; I, B( \" a [7 Y' a5 J
var clet = null9 k* _$ i0 E5 X% |
var cstr = null
, z$ }( {. {6 t' A4 i- Ovar cpos = null
. b* f0 ^9 D( \! i! K9 s) a" Bvar ib = null
$ e0 ~' b9 I' V* l) n+ O9 W, O7 Dvar iba = null/ {8 n; A/ L- C, x3 I9 d" y6 _6 r
var fs = null/ b4 F2 Y8 N( u( U9 H8 |. p
var hstr1 = null) F. w; l0 c* C
var hstr2 = null
! W0 I' _. Y. W5 T/ |<!-- end -->
/ E/ t4 B; t) K
& R" k7 L4 N& B$ g</script>
% Y& ^8 F) `/ }8 N<script language="JavaScript">
8 h/ }" f5 ^" n% u* d<!--
/ E9 K& Q- F0 ~% Bdocument.write('<form name="Active" onSubmit="0">')
* x- _ j4 ]" _+ @7 S/ y9 i& Y$ Sdocument.write('<input type="text" name="ASCII" size="50">')3 h- C4 L$ T$ T7 `% G) w& v
document.write('</form>')
* F/ g5 z, s9 c* k/ @) L6 eActivate()$ s' Z& Z, X2 b" @9 B, \
<!-- end -->
& \9 \# U9 _: j
( U- l( O$ d7 [% m6 p* l</script>