标题:
网页之多变的滚动字幕特效
[打印本页]
作者:
zw2004
时间:
2008-1-21 20:49
标题:
网页之多变的滚动字幕特效
<script language="JavaScript">
" _8 t1 z7 { c% X" W* Y
/ w" K6 `: e" s! I
<!-- ActiveASCII by Neal Kanodia (please, don't delete this line)
7 g+ q. K7 X: l& \; W- E$ Q' ?
0 `9 m4 ~) U5 N: O9 ~- @
function createArr(num) { for(var i = 0; i < num; i++) { this
= null } }
7 Y+ v9 d+ }2 d6 G; y( P
function fillArr(tx,me,ti,wa) { this.text = tx; this.method = me.toLowerCase(); this.ticks = ti; this.wait = wa }
7 o% v# m# p* l1 G# K
function block(num,txt,mthod,tcks,wit) { blocks[num] = new fillArr(txt,mthod,tcks,wit) }
) j' N. g1 @: |+ |/ G! l# I1 O) l. F
function ms(unt) { var sp = ""; for( var i = 1; i <= unt; i++ ) { sp += " " } return(sp) }
0 \! a T! \4 B( I: i# }
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 }
( h1 d! J/ i* d% y) C3 V2 O
if (meth == "0") { document.Active.ASCII.value = end }
0 c$ B* ^( d7 x( t B
if (meth == "display") { Tape = blocks[cblock].text; Wait = blocks[cblock].wait; Display() }
5 A9 W" B b \0 u4 }) l
if (meth == "display center") { Tape = blocks[cblock].text; Wait = blocks[cblock].wait; half = Tape.length / 2; DisplayC() }
8 p2 V4 I0 |; i- a+ l3 P
if (meth == "scroll left") { clen = tlen; Tape = blocks[cblock].text; Ticks = blocks[cblock].ticks; tTicks = Ticks * 2; ScrollL() }
: j9 s/ L+ y _# z4 d( e* n. i
if (meth == "scroll right") { clen = 0 - blocks[cblock].text.length; Tape = blocks[cblock].text; Ticks = blocks[cblock].ticks; tTicks = Ticks * 2; ScrollR() }
# _; |# G9 e, N
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() }
" s* Y ^3 N" [* e/ u+ F% r
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() }
* V4 p6 P: S: F3 |. v# C9 H1 z
if (meth == "scroll cl") { Tape = blocks[cblock].text; Ticks = blocks[cblock].ticks; tTicks = Ticks * 2; half = Tape.length / 2; clen = cent - half; ScrollCL() }
8 s# m2 r1 O/ U
if (meth == "scroll cr") { Tape = blocks[cblock].text; Ticks = blocks[cblock].ticks; tTicks = Ticks * 2; half = Tape.length / 2; clen = cent - half; ScrollCR() }
$ Q& f8 \6 g- G/ p4 d5 L/ X2 v
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() }
0 s! u# W: X/ H
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 Y5 w/ v2 _) G+ H4 s+ |
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() }
" v7 R6 U/ v% y3 G4 H0 H: n8 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() }
+ E7 Z7 W9 T& J% d- A2 h8 [
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() }
+ q3 B! \5 T) [
if (meth == "slip left") { clen = 0; Tape = blocks[cblock].text; Ticks = blocks[cblock].ticks; SlipL() }
# |9 D0 @8 O L! ^! m+ F. D
if (meth == "slip right") { clen = 0; Tape = blocks[cblock].text; Ticks = blocks[cblock].ticks; SlipR() }
1 I+ H4 l9 `0 z4 U% ?2 n
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() }
3 ^1 `' d7 s/ J$ s1 w% 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() }
2 ]6 G7 Y$ p$ S! x3 q+ M
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() } }
/ N. _8 k- ?) K0 ] c
function Display() { document.Active.ASCII.value = Tape; cblock++; timerID = setTimeout("Activate()",Wait) }
! J& A$ M2 j! B" v
function DisplayC() { var temp = cent - half; ini = ms(temp); document.Active.ASCII.value = ini + Tape; cblock++; timerID = setTimeout("Activate()",Wait) }
. _4 p* D/ B( s7 {2 h
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) } } }
, G5 F% a, y3 |/ A- T o) A
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) } }
. Y! c% c& L$ [% ` m; N8 q0 \# P
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) } } }
. r- T) c8 a, k4 k4 T
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) } }
1 U" Q+ @, B, X7 ^- k, j: n
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) } } }
2 [5 c! y. b" d7 n$ l' 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) } }
1 r& ^9 r- D$ S. N! F9 l
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) } } }
) e. _' A. m9 R
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) } } }
) @3 c G8 x$ G7 N K. M3 p6 }
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) } } }
3 O9 b3 h# r+ p- j7 v' E
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) } } }
% ~. p8 O; M1 g) b: t& a& o5 @4 U
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) } } }
/ ^- d6 W$ g/ C6 A( f
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) } }
% o, j/ T5 a$ T1 L
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) } } }
2 |+ p! Y% f# v! W
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) } } }
% U9 _4 P7 b/ Z- {. Q( @- F! `, U
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) } } }
! C% ^- t" p' ?6 W4 V7 ?! b* K
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) } }
, f* G. _, p5 r! ^
; e5 p' g7 U3 r5 A+ h, Z, G; {
/////////////////////////////////////////////////////////////////
% d; z" |* h+ t8 l! {
//# User Vars
8 m7 j/ V6 c3 r+ m0 Y
// Number of blocks (see bottom) to be displayed.
' d6 @7 Z- w* _. L
// ***COMMON ERROR***: Make sure to set this value according to the
* v1 r( | Q! b1 _! n* T
// number of blocks (always the last block # + 1)!
* f$ \9 p- _& p
var max = 18
! `" L& S! [9 _, E' d8 h! [
" ~. r9 M1 R1 C i) J% @3 j6 k+ t; H* G K- ^
// Don't change this!
* x! g1 I( J8 e4 n+ Q
var blocks = new createArr(max)
+ y5 ^/ v% N) h) V! K6 s
: \" m4 [ {* S: s
// Length of textbox
0 \. ]0 l& d' e
// ***COMMON ERROR: If you change this or the length of the
! b/ m$ j( a2 R/ [7 n
// textbox, remember to change the other accordingly.***
$ d E( `' Q- ~. L" m2 n% S
var len = 50
' E+ W* x7 X7 ~) Y( R/ {% Z
7 Y+ O/ |0 L2 |
// Number of time to loop ALL blocks (use 0 for unlimited)
( k" |* k; d7 S' h: T9 ^6 p
var loops = 0
) [* U9 ]$ |, ], c
/ w1 w$ p7 X2 f$ d2 G; e- p" B; Q, U
// If you set the number of loops, set the final messege
- i- q0 Q4 @$ b: K
var end = 'End of "ActiveASCII" by Neal Kanodia.'
0 r! d. V$ Y4 r& w, D0 K1 r
9 I) X) d! n9 T
// Use this format for each string (starting at 0 until 1 less
# w0 p& I) R2 Y& J w A( y/ U
// than max):
3 H$ ]9 R2 [- Z) ~, o1 K
// block(#block,"Text to display","Method",#ticks,#wait)
. p1 y$ H2 o7 q2 L+ |% q
// example: block(0,"1st block.","Scroll Left",25,0)
! ?# u/ ` h, S3 A3 r
// ***COMMON ERROR***: If you add a block INCREASE MAX BY 1
" D, X& f; L# S0 I' f
// ***COMMON ERROR***: If you remove a block DECREASE MAX BY 1
, }" `) a0 q$ |; t! r9 B) S
// ***COMMON ERROR***: Check the spelling of your methods!!!
' j5 {6 ^! n; X$ g
block(17,"欢迎光临七色风!","display",0,500)
1 y1 X0 @! s% X, c# F) c! Z
block(18,"新一代网络商城!","display center",0,500)
7 }4 U% s: ~1 }1 b
block(2,"新一代企业信息系统!","scroll left",25,0)
0 V9 q' i+ S/ i. W9 \) k: s
block(3,"全新的自助建站模式!","scroll right",25,0)
, J0 ]6 A2 i1 h( |# z0 [% t; v0 z
block(4,"欢迎光临七色风!","scroll lc",25,500)
. J# t' L! h& v; w
block(5,"欢迎光临!","scroll rc",25,500)
. A, r$ p: Z6 d5 h7 a' W' N! c
block(6,"欢迎光临!","scroll cl",25,0)
, p# W" v0 ^7 E$ S+ @/ c6 r, `3 H
block(7,"欢迎光临!","scroll cr",25,0)
8 O3 f2 b8 Q8 ]2 Y* ]
block(8,"欢迎光临!","slide left",25,500)
# C% B( w0 h6 l- Y) d
block(9,"欢迎光临!","slide lc",25,500)
5 y9 e- O) Y6 U6 b7 ^) K6 N
block(10,"欢迎光临!","slide rc",25,500)
$ y3 x' h; v- k; r/ K3 }
block(11,"欢迎光临!","slide cl",25,0)
: i: S! L) Z7 k% r) x3 e
block(12,"国内域名:110元!","slide cr",25,0)
: ]- w' a6 m3 G4 @4 L, C
block(13,"国际域名:58元!","slip left",25,0)
x3 M1 ]* B! J% v# u1 a4 R
block(14,"欢迎光临中讯数据!","slip right",25,0)
3 |9 [: }& Z5 ]1 W
block(15,"欢迎您的光临","slip letter",25,0)
7 ~5 Y9 p3 Q# u0 y! T; i: F
block(16,"","display",0,500)
! J8 {9 [" F8 I9 r x8 u
block(0,"欢迎欢迎!","merge",25,1000)
, j: ?/ c8 @) T% o
block(1,"欢迎!","split",25,0)
8 d+ O# h, b M
//End User Vars
) Z0 }! q+ \% C; |# K
/////////////////////////////////////////////////////////////////
8 m' S- Q+ D, U
! z+ F0 p0 j6 a7 y
// Don't change!!!
4 S$ w2 f/ t- t3 Q, h, ^
var tlen = 2.4 * len
; q" K" v+ [3 {0 `* U: U$ S
var cent = tlen / 2.2
/ o, F- N/ M6 P
var clen = null
0 V9 y- Z" F0 R/ R* h) p
var tickered = null
% g& y, Z. L) o3 s( w/ A* y0 O
var ini = null
( f0 T# k( \5 c, i4 ~( t- y
var iloop = 0
6 E5 V" ]3 N; x3 U1 ^7 U
if (loops == 0) {iloop = 1}
3 F( u3 ^" [' S8 v: `2 k
var cblock = 0
3 G! [8 D" u$ I/ H
var timerID = null
& `- I4 s+ r& W" {7 ~% r N9 w
var beg = null
- K, P. j/ m' c% W" v
var clet = null
) Z5 b R; I, k; |) o* z7 e
var cstr = null
( h3 a- T4 g+ m. U7 B
var cpos = null
- s8 O: {" \0 z. y
var ib = null
% ?3 q# w, Z9 r, W# N
var iba = null
6 N4 x5 u5 a% {! f8 G0 x; O3 \6 t
var fs = null
/ k" u# T4 R, ]4 g
var hstr1 = null
9 e& y. i: H" d# u( y
var hstr2 = null
" E3 y% ~7 A" z0 A9 k( k, @
<!-- end -->
) b! _+ w$ J/ x
: K' C0 s3 n% e3 ]+ L
</script>
~& w6 X9 z5 v( y
<script language="JavaScript">
" T" V# [2 [" y. `: O: q
<!--
: {3 P8 ~0 _, o- H
document.write('<form name="Active" onSubmit="0">')
* i) w& @1 E3 @% z5 t% F1 m
document.write('<input type="text" name="ASCII" size="50">')
6 ]" A/ x B8 x$ Q7 H
document.write('</form>')
' G& t1 X K5 Y
Activate()
: e: |( e( z- N
<!-- end -->
; y5 K* c9 V' Z) l2 I; u. L
t1 K* b+ `' D# H/ Z; K# U' N. q
</script>
欢迎光临 捌玖网络工作室 (http://www.89w.org/)
Powered by Discuz! 7.2