标题:
网页之多变的滚动字幕特效
[打印本页]
作者:
zw2004
时间:
2008-1-21 20:49
标题:
网页之多变的滚动字幕特效
<script language="JavaScript">
7 H4 `+ J2 I1 B, r8 x7 _. \
, s0 m3 I/ W4 D3 ^, ]7 h" d
<!-- ActiveASCII by Neal Kanodia (please, don't delete this line)
4 p* ?. U2 y2 @6 J! b) v
1 Y: K! v: r3 T7 K- r1 ]1 D
function createArr(num) { for(var i = 0; i < num; i++) { this
= null } }
& k# y2 a3 @8 Z% C
function fillArr(tx,me,ti,wa) { this.text = tx; this.method = me.toLowerCase(); this.ticks = ti; this.wait = wa }
' a) l$ c u- C/ E J
function block(num,txt,mthod,tcks,wit) { blocks[num] = new fillArr(txt,mthod,tcks,wit) }
. M1 Z e# E+ F' g& |% [) p& u
function ms(unt) { var sp = ""; for( var i = 1; i <= unt; i++ ) { sp += " " } return(sp) }
& }1 ` r- o5 |5 H3 n/ u
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 }
# H9 w7 y3 A0 D$ X, J' d
if (meth == "0") { document.Active.ASCII.value = end }
) K. D" K3 ^' c' e
if (meth == "display") { Tape = blocks[cblock].text; Wait = blocks[cblock].wait; Display() }
7 E' n) b/ n/ w% O' s! ?4 l% M
if (meth == "display center") { Tape = blocks[cblock].text; Wait = blocks[cblock].wait; half = Tape.length / 2; DisplayC() }
+ h6 q3 g( X, M! v
if (meth == "scroll left") { clen = tlen; Tape = blocks[cblock].text; Ticks = blocks[cblock].ticks; tTicks = Ticks * 2; ScrollL() }
& e* t9 [: O* y5 Q
if (meth == "scroll right") { clen = 0 - blocks[cblock].text.length; Tape = blocks[cblock].text; Ticks = blocks[cblock].ticks; tTicks = Ticks * 2; ScrollR() }
; _# k6 \$ w3 b2 `
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() }
+ m! ?+ B0 c5 r9 y9 Q9 a2 B
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() }
( A1 W. H, J5 B9 ?
if (meth == "scroll cl") { Tape = blocks[cblock].text; Ticks = blocks[cblock].ticks; tTicks = Ticks * 2; half = Tape.length / 2; clen = cent - half; ScrollCL() }
% ~ c3 q j; o( d4 x7 z1 |& V3 {
if (meth == "scroll cr") { Tape = blocks[cblock].text; Ticks = blocks[cblock].ticks; tTicks = Ticks * 2; half = Tape.length / 2; clen = cent - half; ScrollCR() }
, b4 f- H- B' V# b" `
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() }
; o( K5 e# P3 k! U
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() }
9 j/ Y4 a' s& U" E. |3 i
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() }
7 G( ]6 R8 }& f3 H. t4 s5 P( D' W
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() }
3 I' Z( z8 t. n3 V! k) l. 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() }
; y& \# E. ?' q9 i8 v" N) O
if (meth == "slip left") { clen = 0; Tape = blocks[cblock].text; Ticks = blocks[cblock].ticks; SlipL() }
2 M. k. Z9 r8 R! k4 _
if (meth == "slip right") { clen = 0; Tape = blocks[cblock].text; Ticks = blocks[cblock].ticks; SlipR() }
+ D N+ y6 t0 [0 R8 K
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() }
& C* M/ D D/ I. E
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() }
1 R2 K5 D% y9 A9 R, {- b# f
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() } }
' h) ~" f8 o/ }& t
function Display() { document.Active.ASCII.value = Tape; cblock++; timerID = setTimeout("Activate()",Wait) }
* q7 v& r, u. y. ~5 |
function DisplayC() { var temp = cent - half; ini = ms(temp); document.Active.ASCII.value = ini + Tape; cblock++; timerID = setTimeout("Activate()",Wait) }
# m9 o+ J' a) ?6 s* Q6 m
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) } } }
( m i' p+ ]' j1 B1 ?/ p" A1 f
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) } }
8 N: I: r# I {( k j
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) } } }
8 x: D }& u/ K& d
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) } }
$ T/ y. v7 T1 ]0 U
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) } } }
; w" U# L2 k$ x$ L3 Z1 C* D$ z* R
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) } }
0 Y8 E# D& F; W% i; q3 m" v( y
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) } } }
4 B2 I- ^/ V% U! y, ^5 s
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) } } }
' g9 [$ N9 R; s" s8 R# G
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) } } }
# G3 W, G6 A: Y
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) } } }
6 n! |- }& n0 C
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) } } }
$ Y) e) U& `$ p2 `
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) } }
2 J! V/ H6 @# {: _
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) } } }
& b3 ~/ {6 k( @" ^) z: F6 Z
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) } } }
* u' ], `! o$ x9 O% z9 I+ L, _
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) } } }
! {6 M5 Z2 S9 |8 y
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) } }
/ e5 q, c5 D; p
, L4 U6 N' i4 G0 i- |
/////////////////////////////////////////////////////////////////
1 U% R' }2 X; z/ {* a5 `
//# User Vars
1 n0 _/ ]% @) S5 R1 V5 Z
// Number of blocks (see bottom) to be displayed.
: X; R9 g7 z: D# x9 j2 |
// ***COMMON ERROR***: Make sure to set this value according to the
9 l3 b9 o/ \4 Z$ }) G9 h
// number of blocks (always the last block # + 1)!
8 K3 Z& }! l" x1 L% t$ z& v0 p( B
var max = 18
' K" |# ~4 f5 V3 {. @1 ?
' i& Z3 I; _/ H
// Don't change this!
w$ e- [% @& c% |+ s/ s$ N
var blocks = new createArr(max)
2 S. R$ ?; w" Y" V" J& u
) w+ _0 N/ k0 i) y/ t. ]/ ?
// Length of textbox
7 L5 o5 L! {. F$ Q* p! z
// ***COMMON ERROR: If you change this or the length of the
" N* k( E% A! h4 f" r3 {
// textbox, remember to change the other accordingly.***
! ]! F0 p1 ]; x4 w0 L! E5 A* L" n" q
var len = 50
: i) f R2 A. _. ^2 E* k
3 T+ ?/ W+ X/ Y9 c: o0 u! N
// Number of time to loop ALL blocks (use 0 for unlimited)
& p: X; o4 [/ T' j* ^' u. P* E. G/ z
var loops = 0
7 Q5 h5 j2 c5 G/ t0 d
: H. v; f- N8 T9 Z9 F7 o9 X
// If you set the number of loops, set the final messege
0 P8 C' g& N. y! Y0 n! t
var end = 'End of "ActiveASCII" by Neal Kanodia.'
! P) d e8 d( L8 ` d9 o' a
6 {" F) I1 O% y9 ?/ v7 A
// Use this format for each string (starting at 0 until 1 less
3 d! }% J) r1 O! j
// than max):
X/ ]4 {4 o( o+ A) h
// block(#block,"Text to display","Method",#ticks,#wait)
4 h' b4 ~+ H8 [& [8 ]2 w* o* Z
// example: block(0,"1st block.","Scroll Left",25,0)
% N9 y( t) s$ Q3 n( L9 Y* R
// ***COMMON ERROR***: If you add a block INCREASE MAX BY 1
* L3 A& F7 d3 d# K' h) Z- {$ R. b
// ***COMMON ERROR***: If you remove a block DECREASE MAX BY 1
' A0 n7 Y# J" |* k5 |
// ***COMMON ERROR***: Check the spelling of your methods!!!
7 Q. A& M- `, }5 l, W G
block(17,"欢迎光临七色风!","display",0,500)
$ Z; D& J, \8 O4 Q
block(18,"新一代网络商城!","display center",0,500)
; r& R+ l/ e0 W) k6 J* }
block(2,"新一代企业信息系统!","scroll left",25,0)
6 w- i0 r# b5 q0 |9 o0 C! A
block(3,"全新的自助建站模式!","scroll right",25,0)
$ \% {$ P3 h$ @. t& m0 {
block(4,"欢迎光临七色风!","scroll lc",25,500)
% b" H; y8 {9 O& ~9 A! `+ \! A) l
block(5,"欢迎光临!","scroll rc",25,500)
- y4 S$ H! E0 a
block(6,"欢迎光临!","scroll cl",25,0)
' ~9 I$ q9 C8 v3 N
block(7,"欢迎光临!","scroll cr",25,0)
$ D; K" x/ h$ J l& b0 }8 Z
block(8,"欢迎光临!","slide left",25,500)
2 `; o. i5 Y( U: ^& F* `
block(9,"欢迎光临!","slide lc",25,500)
+ H: D* o8 a; u c
block(10,"欢迎光临!","slide rc",25,500)
: q: i* ^ P' F9 o/ }
block(11,"欢迎光临!","slide cl",25,0)
4 w+ s6 o; }9 k6 G L5 o
block(12,"国内域名:110元!","slide cr",25,0)
4 p: ]$ K, U% B
block(13,"国际域名:58元!","slip left",25,0)
3 B$ D# w8 S- j8 h9 R
block(14,"欢迎光临中讯数据!","slip right",25,0)
% B' [1 o5 b4 C; @7 J+ F
block(15,"欢迎您的光临","slip letter",25,0)
* F* |0 ~. _. d, {
block(16,"","display",0,500)
$ g* o% p% S/ Y2 v: `" X& ]
block(0,"欢迎欢迎!","merge",25,1000)
4 c- y) G x9 e2 ^! z1 l
block(1,"欢迎!","split",25,0)
- h2 [7 q8 v5 Q* Q& [
//End User Vars
6 M4 [- L4 T* ?. q2 I. M5 a
/////////////////////////////////////////////////////////////////
) z. @3 ~# j9 I% b
& R3 g, }( k. }' U- _" n& Z7 h% a
// Don't change!!!
) M+ ]9 t+ ?& J1 m4 M
var tlen = 2.4 * len
( C1 A5 m8 @# x
var cent = tlen / 2.2
1 W2 ^! t6 V9 y. y0 \
var clen = null
. n, j6 e. A* E! Z" p( r
var tickered = null
$ N7 H/ r' B" j% G$ C1 k
var ini = null
6 d9 ~+ Y/ G, ]) f, |
var iloop = 0
0 J* c; z o3 P& F+ o! S* J0 X
if (loops == 0) {iloop = 1}
C/ c4 {8 v( o# G
var cblock = 0
% E+ b9 r; M$ F, @7 s) e
var timerID = null
& W5 [! R6 l ~4 v
var beg = null
: K5 S0 S' h" B- W; s' {+ u
var clet = null
% |7 |% Q3 {& O* W0 E' r1 e
var cstr = null
5 u1 [, B9 N% B0 l
var cpos = null
. ?- {. R, W* l- R! a# o
var ib = null
6 M- u( \. E6 W5 H
var iba = null
5 v+ A; R) i5 i( I& @
var fs = null
! o8 r. z5 ?; S |4 `: a7 n l
var hstr1 = null
; o( l, n4 e2 U+ M
var hstr2 = null
/ e& j& M7 q! r
<!-- end -->
$ M A. W1 g" n, r( K1 P0 H1 H
0 j+ n% v( G) g1 ?; l6 `6 ?! D
</script>
2 w8 Z% V1 Q" ?( R5 c0 I# V
<script language="JavaScript">
' r3 P1 a# Y _. Q9 h
<!--
3 [% C3 d7 s. a% j0 p
document.write('<form name="Active" onSubmit="0">')
$ N1 q" o+ ?7 _; P6 U% @6 \; x6 S
document.write('<input type="text" name="ASCII" size="50">')
; ^% Q1 m6 D, W, `: f
document.write('</form>')
( R( ]: X) W4 x0 @
Activate()
; v4 O5 a0 o a) r; J; D9 N( |" s
<!-- end -->
5 J; X' e; b) ?
9 x5 G5 Q' n2 s( N( c8 n- q* s
</script>
欢迎光临 捌玖网络工作室 (http://www.89w.org/)
Powered by Discuz! 7.2