标题:
网页之多变的滚动字幕特效
[打印本页]
作者:
zw2004
时间:
2008-1-21 20:49
标题:
网页之多变的滚动字幕特效
<script language="JavaScript">
: T* x* f1 R( S# c
- ^/ h/ I3 V* h1 u {0 ^. M F
<!-- ActiveASCII by Neal Kanodia (please, don't delete this line)
0 N. |7 A V' I4 {- P3 f7 ~
: S9 }+ v$ F6 m, ^ C# D% A' s+ D
function createArr(num) { for(var i = 0; i < num; i++) { this
= null } }
9 q) |, u! Y# b9 r& U+ ]
function fillArr(tx,me,ti,wa) { this.text = tx; this.method = me.toLowerCase(); this.ticks = ti; this.wait = wa }
1 \7 Z6 J5 ` R
function block(num,txt,mthod,tcks,wit) { blocks[num] = new fillArr(txt,mthod,tcks,wit) }
' _; ~* B0 S6 U8 R. S' Y
function ms(unt) { var sp = ""; for( var i = 1; i <= unt; i++ ) { sp += " " } return(sp) }
$ }! k: m+ R" p8 M
function 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 }
8 n0 Y$ Q% s: c' a' c1 a
if (meth == "0") { document.Active.ASCII.value = end }
/ k6 V% Z; O2 @0 E$ X& _
if (meth == "display") { Tape = blocks[cblock].text; Wait = blocks[cblock].wait; Display() }
2 `, G+ v# a' W9 D7 E
if (meth == "display center") { Tape = blocks[cblock].text; Wait = blocks[cblock].wait; half = Tape.length / 2; DisplayC() }
. C& ]: O# F& Y9 F5 J. T y3 k
if (meth == "scroll left") { clen = tlen; Tape = blocks[cblock].text; Ticks = blocks[cblock].ticks; tTicks = Ticks * 2; ScrollL() }
2 k; l: @& r. U% a4 v. z/ X
if (meth == "scroll right") { clen = 0 - blocks[cblock].text.length; Tape = blocks[cblock].text; Ticks = blocks[cblock].ticks; tTicks = Ticks * 2; ScrollR() }
# ]- p# _% d7 c/ f+ M4 u- V
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() }
% W2 t6 f, B. T5 Z" m
if (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() }
5 X) X6 j' H, A
if (meth == "scroll cl") { Tape = blocks[cblock].text; Ticks = blocks[cblock].ticks; tTicks = Ticks * 2; half = Tape.length / 2; clen = cent - half; ScrollCL() }
# I* _7 n4 ?" h8 L* l# S$ q- {
if (meth == "scroll cr") { Tape = blocks[cblock].text; Ticks = blocks[cblock].ticks; tTicks = Ticks * 2; half = Tape.length / 2; clen = cent - half; ScrollCR() }
3 b/ l" x" x5 Q+ y7 O, e/ p+ M
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() }
+ A$ l/ r) ]* z% P2 s+ ]+ [5 j
if (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() }
% f k+ }4 F( f; `
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() }
. b+ I& H5 ]4 j3 {& w1 B
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() }
' ?5 A5 g& L- ]/ W B o. i
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() }
) h7 l4 _7 V! a- W; v, M9 e% o& a
if (meth == "slip left") { clen = 0; Tape = blocks[cblock].text; Ticks = blocks[cblock].ticks; SlipL() }
; l# e, [# z7 ^' H( }
if (meth == "slip right") { clen = 0; Tape = blocks[cblock].text; Ticks = blocks[cblock].ticks; SlipR() }
( f7 H3 B+ {# v a
if (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() }
' w5 ^' Y9 R9 @% |
if (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() }
; O# F8 }. C4 i. G
if (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() } }
7 m8 j+ X6 l4 D6 x0 I# n7 q- H
function Display() { document.Active.ASCII.value = Tape; cblock++; timerID = setTimeout("Activate()",Wait) }
1 o$ o0 m1 u# u1 h' X$ \
function DisplayC() { var temp = cent - half; ini = ms(temp); document.Active.ASCII.value = ini + Tape; cblock++; timerID = setTimeout("Activate()",Wait) }
, m; I& R0 a. w
function 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) } } }
7 m) V6 M& G) P% h3 x, @! ^; b
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) } }
/ z& n( N) g p' r2 v3 l! V
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) } } }
* y' N: [: _8 G" c
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) } }
. \4 g) [- k- A
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) } } }
8 u `% n# [3 q5 q* e; i/ 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) } }
( y3 W) n* e" V, y( P
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) } } }
& o9 {' o5 \" a# g: \" e: X
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) } } }
0 E0 K- S' [" _. E E# |4 y
function 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) } } }
( l: ~2 P1 D" U( u) e/ I
function 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) } } }
0 i& i5 v+ b) b- r" x
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) } } }
$ X9 r. G7 L7 O7 e& r) W
function 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) } }
, J6 I/ c0 t' b3 b0 K) ?
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) } } }
5 |8 I- @; P8 d) B3 L
function 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) } } }
* L8 {* @. y; l' v
function 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) } } }
' n! v0 |- Z0 p+ H1 ?" k7 p
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) } }
' x" Z5 g% W+ o, ]6 m
0 l8 \( y+ e9 \( O
/////////////////////////////////////////////////////////////////
+ f, d G* A& `9 k
//# User Vars
! C! q( w0 r7 G6 P1 ?
// Number of blocks (see bottom) to be displayed.
. E* y" T" C! f! F8 d$ d
// ***COMMON ERROR***: Make sure to set this value according to the
# N; [% R1 w( }
// number of blocks (always the last block # + 1)!
7 \4 R5 J) z1 _/ E% k1 T M- h, t
var max = 18
5 t, z& ?$ K/ ?, F( b4 V
6 T% ?7 s8 l/ E" R7 R8 g+ D
// Don't change this!
7 q) u2 t" X& x
var blocks = new createArr(max)
4 c, X2 v4 Z* W! `
" ]& ?* ] _; ^+ ?- k. E
// Length of textbox
, M9 O6 u B+ ?' z, q
// ***COMMON ERROR: If you change this or the length of the
5 T1 O6 r" F6 n9 D4 u' _
// textbox, remember to change the other accordingly.***
; G3 K) G. @$ `6 `* C
var len = 50
3 x% y0 d8 O" y- Z; J! S9 m( u
3 J: z. O. V' X( E1 b; [$ i
// Number of time to loop ALL blocks (use 0 for unlimited)
! q" }: }% M/ u* ^3 M
var loops = 0
! z# ]* c, [. A' t3 Q+ x
- |) t0 q1 w+ ^& x) b7 e
// If you set the number of loops, set the final messege
, p1 k1 e! f' V+ w P
var end = 'End of "ActiveASCII" by Neal Kanodia.'
& E& j5 i# L& K+ H/ P2 a( N4 S( F
! @6 A( C4 O: `
// Use this format for each string (starting at 0 until 1 less
4 g3 }/ Z! f$ j* A, l2 Q5 E! B
// than max):
% h9 i* a; l- M7 F
// block(#block,"Text to display","Method",#ticks,#wait)
4 D3 G0 O% N& ^6 [# O7 ^! W$ \
// example: block(0,"1st block.","Scroll Left",25,0)
0 b) W2 D( {# Z/ B
// ***COMMON ERROR***: If you add a block INCREASE MAX BY 1
& E0 N3 J+ s) v; a$ h& h
// ***COMMON ERROR***: If you remove a block DECREASE MAX BY 1
9 \" Q& A( n7 I7 {" F
// ***COMMON ERROR***: Check the spelling of your methods!!!
4 U; T! o$ S2 o
block(17,"欢迎光临七色风!","display",0,500)
1 M$ ]1 a7 T5 ^! I# ]
block(18,"新一代网络商城!","display center",0,500)
2 y& @ m: v0 G6 J0 m5 L9 ]5 {
block(2,"新一代企业信息系统!","scroll left",25,0)
5 v/ I6 X* _ w3 q
block(3,"全新的自助建站模式!","scroll right",25,0)
- `) G/ E/ N8 v9 r& {$ B
block(4,"欢迎光临七色风!","scroll lc",25,500)
, K( {4 G# Y1 e; A- F
block(5,"欢迎光临!","scroll rc",25,500)
, i p* h5 I- ]' O7 X$ j% `
block(6,"欢迎光临!","scroll cl",25,0)
. H: r& v1 Q! k- e! [& u- c
block(7,"欢迎光临!","scroll cr",25,0)
, R0 y5 U/ Z% H
block(8,"欢迎光临!","slide left",25,500)
6 F! B$ O+ B+ a1 n2 e* J4 _' e+ \$ j
block(9,"欢迎光临!","slide lc",25,500)
, Y n+ w7 A3 n
block(10,"欢迎光临!","slide rc",25,500)
K: P7 h$ l9 E) m1 H# E+ i
block(11,"欢迎光临!","slide cl",25,0)
, X4 A2 j% s* x" Y- r) M4 x2 g$ A, i# K
block(12,"国内域名:110元!","slide cr",25,0)
' N: l' U4 Y& f% s# |; w+ D
block(13,"国际域名:58元!","slip left",25,0)
8 P, p- Q0 q. c4 q9 w
block(14,"欢迎光临中讯数据!","slip right",25,0)
6 { {2 Q. U; Q3 e1 D. u1 l
block(15,"欢迎您的光临","slip letter",25,0)
6 h! ?$ E6 `; v
block(16,"","display",0,500)
/ i) s* i. F3 F( P, |2 t
block(0,"欢迎欢迎!","merge",25,1000)
5 z, w7 M+ S) U: w- o
block(1,"欢迎!","split",25,0)
6 h% p8 C5 i! v& Z* }$ w
//End User Vars
/ Z$ H8 o( d* [* y3 x$ N
/////////////////////////////////////////////////////////////////
6 H, p4 m9 {, V- J3 u2 _
- J2 N+ m9 I# i+ `% ^7 [
// Don't change!!!
/ L, E9 o/ I# }7 Z" Z9 s
var tlen = 2.4 * len
, F* Y x/ @! Y e
var cent = tlen / 2.2
3 K, e/ H2 n8 q& f9 W: }/ P$ A" O7 h
var clen = null
0 {& d+ ?8 i9 j) r6 W8 K6 U+ I
var tickered = null
8 k, V8 r% f: ?2 [2 z
var ini = null
4 Z! y" V6 c8 ? K, b$ F% i. ~
var iloop = 0
% e3 s7 b: ~, o! ^
if (loops == 0) {iloop = 1}
; E3 E" o+ x% L- c
var cblock = 0
. k1 t0 B) d# J$ f N
var timerID = null
$ v; \8 [5 W/ C- J! O9 `! ~
var beg = null
" L% j6 y# w1 r# q5 i) h( _7 M2 d2 g
var clet = null
; R, {" T1 u$ w- s6 v
var cstr = null
) H" o1 B* Q2 s/ a
var cpos = null
) |( D Q3 {. |0 R- B
var ib = null
& N s& S* h O% r
var iba = null
: Y3 m: C& x" I- l) C) D1 j- h9 v
var fs = null
, f/ l7 M2 w' H) W' X0 s
var hstr1 = null
% p9 c, d3 B1 a/ f: Y$ C- J, N( M
var hstr2 = null
5 R+ l) Q% @* X! K4 G5 A& j7 C
<!-- end -->
: y1 l. m3 x$ {& b1 ]- c7 V
3 M& ]' K! E. D6 P
</script>
% u- @. u) q9 t9 u( r* e
<script language="JavaScript">
8 ]6 a; u. C8 i1 b
<!--
* n0 b& |* [* s
document.write('<form name="Active" onSubmit="0">')
0 F) A8 T' V8 c! `( ~7 W" l% e
document.write('<input type="text" name="ASCII" size="50">')
0 y3 J7 E+ ^5 n& a7 L4 f
document.write('</form>')
/ J' l% p; r4 b
Activate()
$ @1 T, s# o" ^; D; E; s ~
<!-- end -->
- j0 E. G* m+ X, J6 Y2 b
: ?5 O0 j+ C R# {* p7 x3 X
</script>
欢迎光临 捌玖网络工作室 (http://www.89w.org/)
Powered by Discuz! 7.2