标题:
网页之多变的滚动字幕特效
[打印本页]
作者:
zw2004
时间:
2008-1-21 20:49
标题:
网页之多变的滚动字幕特效
<script language="JavaScript">
V" c0 q8 t4 f2 h- n
, z5 E9 m. t: K$ g4 A
<!-- ActiveASCII by Neal Kanodia (please, don't delete this line)
V8 h# _3 M0 i; {+ Z9 a9 y
4 P) Z/ w2 k+ ~. z% j: \( h
function createArr(num) { for(var i = 0; i < num; i++) { this
= null } }
1 s% E% q* ]! |% L/ Y
function fillArr(tx,me,ti,wa) { this.text = tx; this.method = me.toLowerCase(); this.ticks = ti; this.wait = wa }
! z( h; Q% J: Q" {( |& C
function block(num,txt,mthod,tcks,wit) { blocks[num] = new fillArr(txt,mthod,tcks,wit) }
1 D) W% }# A4 K7 \0 \, J
function ms(unt) { var sp = ""; for( var i = 1; i <= unt; i++ ) { sp += " " } return(sp) }
6 u! D4 j* @+ a7 L
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 }
, W; S* I' W5 j; `
if (meth == "0") { document.Active.ASCII.value = end }
$ p" S: K% {* w7 ?$ k% u0 B
if (meth == "display") { Tape = blocks[cblock].text; Wait = blocks[cblock].wait; Display() }
3 N! U! y4 C* I9 C
if (meth == "display center") { Tape = blocks[cblock].text; Wait = blocks[cblock].wait; half = Tape.length / 2; DisplayC() }
# ]: e* u9 M) e" {
if (meth == "scroll left") { clen = tlen; Tape = blocks[cblock].text; Ticks = blocks[cblock].ticks; tTicks = Ticks * 2; ScrollL() }
* z) Y0 ~1 z; J! a2 D( K9 t1 |3 t
if (meth == "scroll right") { clen = 0 - blocks[cblock].text.length; Tape = blocks[cblock].text; Ticks = blocks[cblock].ticks; tTicks = Ticks * 2; ScrollR() }
! r- \# S6 s9 L4 {- ?! C
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() }
- F$ g \7 }3 U m( o" H& \
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() }
* t5 N9 B- t. `1 r) K/ B$ h0 |9 [
if (meth == "scroll cl") { Tape = blocks[cblock].text; Ticks = blocks[cblock].ticks; tTicks = Ticks * 2; half = Tape.length / 2; clen = cent - half; ScrollCL() }
4 G# j; ]& s9 c) O: B ]. A
if (meth == "scroll cr") { Tape = blocks[cblock].text; Ticks = blocks[cblock].ticks; tTicks = Ticks * 2; half = Tape.length / 2; clen = cent - half; ScrollCR() }
' e! R. n7 C4 B( I) M! r3 T! Y
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() }
# l- \" r7 P" `' G- u2 T% P, y
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() }
. e/ J' [ H( C- y0 h) b
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() }
2 l7 @; I# p0 ]' y" N
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() }
7 q# N* m$ J, | K$ R0 a8 X+ ~
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. I+ @2 U
if (meth == "slip left") { clen = 0; Tape = blocks[cblock].text; Ticks = blocks[cblock].ticks; SlipL() }
) v6 a: O3 q2 a* X) @
if (meth == "slip right") { clen = 0; Tape = blocks[cblock].text; Ticks = blocks[cblock].ticks; SlipR() }
. w) N1 u; X) T p# U
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() }
$ T9 W- ^9 M5 l5 I6 l
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() }
z% k+ m7 ~( u ^/ q5 Q; w
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() } }
& X; B5 G6 ?' |9 y9 A5 x
function Display() { document.Active.ASCII.value = Tape; cblock++; timerID = setTimeout("Activate()",Wait) }
" e: w. `, D! S) I
function DisplayC() { var temp = cent - half; ini = ms(temp); document.Active.ASCII.value = ini + Tape; cblock++; timerID = setTimeout("Activate()",Wait) }
- o5 D" [0 h8 }6 U9 d# z6 ^, `
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) } } }
: T0 z$ X: i; G1 ?; t, L
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) } }
( g' u: S! A R7 ]8 l# \
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) } } }
; U# o* h/ r( F2 J
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) } }
6 M) @3 l' M9 @5 w
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) } } }
" v2 _- ^8 v' l% ^9 O' ~4 M
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) } }
$ J, ~2 A$ d' [9 {6 ~1 D# G
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) } } }
( d, m( p: L5 h8 U' }; 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) } } }
. a% z% f- i/ K4 K5 d8 B
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) } } }
* D0 ~" v9 |. I6 M
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) } } }
, d0 R( @' Z- N0 x, x* b$ @; y' n& w4 {
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) } } }
' {# h$ J( N- q' |
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) } }
; S% a' f% D) ^! D
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) } } }
M. W1 x E7 z- O6 v
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) } } }
6 F. P7 }- _& ~) K; }+ n5 G
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) } } }
J, t8 v$ A- 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) } }
6 \: j K9 T! a
3 n( n3 Q7 l9 N- ~+ ~
/////////////////////////////////////////////////////////////////
7 f# i, S) [ R6 ]3 R
//# User Vars
, [9 I! x0 _& S* N+ e
// Number of blocks (see bottom) to be displayed.
C& o+ o) ~3 U2 t
// ***COMMON ERROR***: Make sure to set this value according to the
$ Z, T- t: d4 S: L$ K8 N
// number of blocks (always the last block # + 1)!
! c% H) u! O9 \
var max = 18
& i p0 J4 ?3 i6 t+ e- t9 p% C
4 p- J+ {2 @- I* b: y8 F( B
// Don't change this!
( m- ~* ~0 w8 h; X- i/ Q. {2 Q
var blocks = new createArr(max)
$ h$ W7 o) f9 l; Z; ^/ G
: \! E- U; v- |; f/ H
// Length of textbox
. u* f$ ~, c9 ?* l# @+ W
// ***COMMON ERROR: If you change this or the length of the
6 {" W$ i8 r: W/ N1 {, Y4 F
// textbox, remember to change the other accordingly.***
0 b! W: u/ e# |; u" I7 @# J" R
var len = 50
) C! ^" e8 S" m
4 i6 f, U% J( k. z, k
// Number of time to loop ALL blocks (use 0 for unlimited)
6 M+ d. `: f" @* ?6 e' e1 q
var loops = 0
, A2 H, K, w9 K" {2 g2 K: A( |
2 M' B$ O6 e) w
// If you set the number of loops, set the final messege
6 Y3 j( s$ X) R/ ]
var end = 'End of "ActiveASCII" by Neal Kanodia.'
4 T; ?6 o5 |& z1 r; N* k5 a
- @) p0 U: ^' r/ ]3 H: r. D# Q" o; f
// Use this format for each string (starting at 0 until 1 less
6 s5 j$ j- ]3 q3 d/ Z" F/ ~
// than max):
7 Z0 K8 ~# g1 m- p* b( Y# N
// block(#block,"Text to display","Method",#ticks,#wait)
+ [# P; V# n+ L0 m: d7 _- t; \2 M
// example: block(0,"1st block.","Scroll Left",25,0)
2 @5 D* R, Q) t: Y
// ***COMMON ERROR***: If you add a block INCREASE MAX BY 1
9 q2 M+ c3 l; n3 c
// ***COMMON ERROR***: If you remove a block DECREASE MAX BY 1
$ h. _. X$ w9 x
// ***COMMON ERROR***: Check the spelling of your methods!!!
( J/ K/ c$ r) b% T
block(17,"欢迎光临七色风!","display",0,500)
. a" B# c& J6 r0 Q" [
block(18,"新一代网络商城!","display center",0,500)
0 M& X4 ]& U9 K. e: s7 K
block(2,"新一代企业信息系统!","scroll left",25,0)
8 R# F% r( d+ g* Q
block(3,"全新的自助建站模式!","scroll right",25,0)
2 z! n) ?& F6 [/ w, _9 ?
block(4,"欢迎光临七色风!","scroll lc",25,500)
o* t/ W( h* z
block(5,"欢迎光临!","scroll rc",25,500)
- s' a6 J9 f# l7 n3 M4 l( r
block(6,"欢迎光临!","scroll cl",25,0)
/ ^* z5 F7 A! D/ m8 [
block(7,"欢迎光临!","scroll cr",25,0)
4 f4 R; \+ c, _5 }6 I- L( T
block(8,"欢迎光临!","slide left",25,500)
. H* l. K# o. J& N% }7 t5 i, D
block(9,"欢迎光临!","slide lc",25,500)
1 h; {7 [3 Y/ S1 _1 P) B
block(10,"欢迎光临!","slide rc",25,500)
" Z: t' _" Z3 r$ Z6 |( Q% X" ]
block(11,"欢迎光临!","slide cl",25,0)
& I7 P- b/ P5 O$ a
block(12,"国内域名:110元!","slide cr",25,0)
5 X( _1 V5 \5 t! |* F
block(13,"国际域名:58元!","slip left",25,0)
# R, @$ D4 m, h/ R# D$ x$ L" N4 G
block(14,"欢迎光临中讯数据!","slip right",25,0)
8 H, Q4 g1 y! p. e& r
block(15,"欢迎您的光临","slip letter",25,0)
. [4 h! r& Z% |- B/ Z
block(16,"","display",0,500)
1 L$ d8 B8 I' J! }; G
block(0,"欢迎欢迎!","merge",25,1000)
}0 N l" o5 X: F# A6 x
block(1,"欢迎!","split",25,0)
7 V( |3 ^ n7 r1 F* D2 `3 K' B/ L
//End User Vars
7 x4 h, N9 d6 E% Z2 B
/////////////////////////////////////////////////////////////////
0 {9 E9 o7 o' }6 C, T6 ]" }
- t! \3 `/ J5 T, V c' Z5 W! @
// Don't change!!!
7 S. ^3 q1 d1 C% x& F8 Y" D2 b' ^
var tlen = 2.4 * len
! G( E: }# g" \ y
var cent = tlen / 2.2
6 V# h' y6 I3 `
var clen = null
1 e8 E7 y3 P! {8 t+ ^
var tickered = null
2 O5 j- e1 d8 a' F/ Y* _& S. L! e
var ini = null
. ^* W! }$ G' r9 `0 A
var iloop = 0
& c& o. b0 \- z U1 L( Q7 C/ R
if (loops == 0) {iloop = 1}
0 H3 x& c+ E& W% C' n- B
var cblock = 0
5 c! Y: b8 L5 z, d; X1 ]5 y
var timerID = null
/ O- l" g& c* F/ f
var beg = null
: @) O/ x/ m* t5 d }5 |! m. R
var clet = null
1 M$ \. s4 V2 ^6 C
var cstr = null
2 Y7 N# \. h2 v. U5 g( z7 {! P7 J
var cpos = null
# H) H! U0 A- Z$ L$ t' t
var ib = null
; Y2 p# _8 X; N5 \
var iba = null
- N+ o! d- F" |
var fs = null
6 u. ], S9 _ m$ ]- _; |' f5 v
var hstr1 = null
6 F4 B% K& T2 T' v' X6 T2 R
var hstr2 = null
1 W, b/ E# T( f J3 s3 i, Z" U
<!-- end -->
8 q4 R0 W: Z) x" F' d
v. c+ N) j& z! Y- k$ @ O
</script>
' K6 D2 G+ D" s: G6 R
<script language="JavaScript">
$ Q. c. T) j0 ^$ Q+ i. B
<!--
* v( o G9 }9 g
document.write('<form name="Active" onSubmit="0">')
8 x0 L: |, Z8 o+ q& c
document.write('<input type="text" name="ASCII" size="50">')
; i8 P& I% ^7 ]7 Y* |# `1 W
document.write('</form>')
t- |3 }. @( P4 m4 F0 U# Q, g8 r
Activate()
* w9 a( O7 O4 ~: A ?5 H" [, a% V5 K
<!-- end -->
/ J. d: z) Z& s& k/ U9 n
: u3 c x+ }2 y) g$ {4 [" b2 x8 u
</script>
欢迎光临 捌玖网络工作室 (http://89w.org/)
Powered by Discuz! 7.2