标题:
网页之多变的滚动字幕特效
[打印本页]
作者:
zw2004
时间:
2008-1-21 20:49
标题:
网页之多变的滚动字幕特效
<script language="JavaScript">
% O9 B) B" S+ S8 M% q; m/ b6 s: v# q
% h, o: R5 i" @+ o
<!-- ActiveASCII by Neal Kanodia (please, don't delete this line)
/ k( e8 e+ ]' y$ t
0 U% m+ Q( b( L. u( p9 `
function createArr(num) { for(var i = 0; i < num; i++) { this
= null } }
/ D, Q" W5 l* Q3 g& v: }, K7 N
function fillArr(tx,me,ti,wa) { this.text = tx; this.method = me.toLowerCase(); this.ticks = ti; this.wait = wa }
" ^+ m% D. w. I% H& o
function block(num,txt,mthod,tcks,wit) { blocks[num] = new fillArr(txt,mthod,tcks,wit) }
0 h3 B$ Q0 O* e: |% t
function ms(unt) { var sp = ""; for( var i = 1; i <= unt; i++ ) { sp += " " } return(sp) }
1 ~% o2 k& v: P) Z' k
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 }
% Q! C1 U/ H) H+ i$ L6 q0 U. z
if (meth == "0") { document.Active.ASCII.value = end }
8 F. ? w J7 q; w2 w0 _) x4 I6 y
if (meth == "display") { Tape = blocks[cblock].text; Wait = blocks[cblock].wait; Display() }
3 b5 k- X& F7 g0 k, J
if (meth == "display center") { Tape = blocks[cblock].text; Wait = blocks[cblock].wait; half = Tape.length / 2; DisplayC() }
4 v: e' Z5 J) a$ T$ W8 l+ i
if (meth == "scroll left") { clen = tlen; Tape = blocks[cblock].text; Ticks = blocks[cblock].ticks; tTicks = Ticks * 2; ScrollL() }
# E# x' z: u: L
if (meth == "scroll right") { clen = 0 - blocks[cblock].text.length; Tape = blocks[cblock].text; Ticks = blocks[cblock].ticks; tTicks = Ticks * 2; ScrollR() }
* z. m8 V) 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() }
) t; I9 p( f3 Y8 D5 P% Y1 }; 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() }
! _* C! o! y- p1 c% k0 L/ f$ V
if (meth == "scroll cl") { Tape = blocks[cblock].text; Ticks = blocks[cblock].ticks; tTicks = Ticks * 2; half = Tape.length / 2; clen = cent - half; ScrollCL() }
# z8 J8 l4 h, u0 Y5 c% t3 [
if (meth == "scroll cr") { Tape = blocks[cblock].text; Ticks = blocks[cblock].ticks; tTicks = Ticks * 2; half = Tape.length / 2; clen = cent - half; ScrollCR() }
# Q& W5 U; \( 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() }
) ^$ s$ \7 o% o5 w# d7 W3 L
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() }
: I `' e( N. K J; G: N
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() }
, L+ T- u* W! x& i
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 m: g$ H% O' J, V4 J; H7 y) 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() }
" z2 D+ C1 I4 F- j( {2 j& t3 T
if (meth == "slip left") { clen = 0; Tape = blocks[cblock].text; Ticks = blocks[cblock].ticks; SlipL() }
1 ]. j0 C5 y- W# Z: }" K
if (meth == "slip right") { clen = 0; Tape = blocks[cblock].text; Ticks = blocks[cblock].ticks; SlipR() }
3 r& \4 a0 m9 G) L3 p' U0 v
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() }
5 X" z$ ~ _7 s+ a
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() }
9 c* r( Y1 \' {+ D4 B) ~/ S% @
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() } }
/ q2 C6 z# \" Z4 G- H6 P' n8 o
function Display() { document.Active.ASCII.value = Tape; cblock++; timerID = setTimeout("Activate()",Wait) }
# U) p5 [3 C3 n) t$ z ]
function DisplayC() { var temp = cent - half; ini = ms(temp); document.Active.ASCII.value = ini + Tape; cblock++; timerID = setTimeout("Activate()",Wait) }
: A0 o7 I! ?$ b) _* x) 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) } } }
/ }& q; a6 M) O" _& I, {% p
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) } }
3 q! d6 d" E8 M4 r% F/ C: Y% A
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) } } }
N( H8 R/ L/ 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) } }
' C# E! A, c# 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) } } }
4 ^" D5 J2 h x
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 f1 d3 w* p7 P# @: {+ Q4 I4 g7 j
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) } } }
# h9 b2 T4 M) b
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) } } }
* D+ d6 ~8 K, e6 X2 k
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) } } }
% b5 O8 N' d& y9 _
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) } } }
+ E" _" H8 p4 w; H
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) } } }
& c8 @: | j( `; X- S
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) } }
! ^! J, J4 Q: K- A! X7 o1 P! R
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) } } }
# B# }6 o. f+ }( H, y, U
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) } } }
; n8 ~% w/ U9 U5 Z+ D* r" x' 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) } } }
3 d+ R& r2 n) g0 y$ w: n5 }9 s
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) } }
, e$ h2 ~4 r; J
- B2 y; t/ ~% C5 ^
/////////////////////////////////////////////////////////////////
- T) h+ q a7 `. M/ }& B
//# User Vars
6 V7 @- Y* i: j' M
// Number of blocks (see bottom) to be displayed.
9 l0 T2 X0 L b2 S* o; W% a2 F
// ***COMMON ERROR***: Make sure to set this value according to the
* t7 q. q, E* p) Z4 F* d8 g
// number of blocks (always the last block # + 1)!
# [. h G1 Z: e) m* b) w2 y
var max = 18
9 l( B; K( a4 ~5 j l& ^& `& g
" @$ y* }0 H' w$ N
// Don't change this!
* M( Y- ?5 X1 g# J- h
var blocks = new createArr(max)
# }. V; ?) j; }0 V m
" f b6 E# L+ h6 G+ Y; x5 p( Y
// Length of textbox
7 W. {, N0 V+ f n9 _
// ***COMMON ERROR: If you change this or the length of the
& z( |2 Q0 }6 {9 ^$ `
// textbox, remember to change the other accordingly.***
( m& o' _- _8 e) q( h
var len = 50
, Z! c1 U7 F9 O$ K6 w$ S
F2 Q. C1 `/ N
// Number of time to loop ALL blocks (use 0 for unlimited)
; i# G$ e5 Y, o) V( d ?
var loops = 0
( m+ o ~" c; T# P' l$ P! N
: @8 _( @. J4 b ]; {
// If you set the number of loops, set the final messege
9 P& S4 B4 m3 u: o' O
var end = 'End of "ActiveASCII" by Neal Kanodia.'
5 X2 A; S5 g% M
% S7 m" Z! T. v1 n/ I( F3 e2 Z
// Use this format for each string (starting at 0 until 1 less
' C, q( e' j# I8 H1 `( G% k8 f
// than max):
; l- y6 Z. @, w" V+ H$ H
// block(#block,"Text to display","Method",#ticks,#wait)
# r9 t x$ x J
// example: block(0,"1st block.","Scroll Left",25,0)
" r, @- B+ g! r# o. q
// ***COMMON ERROR***: If you add a block INCREASE MAX BY 1
/ b: W% T8 N% s# M
// ***COMMON ERROR***: If you remove a block DECREASE MAX BY 1
- J2 J( n N5 {+ c9 n
// ***COMMON ERROR***: Check the spelling of your methods!!!
# V0 ^, Y, \, J c
block(17,"欢迎光临七色风!","display",0,500)
/ K9 B* q! x! N2 P7 p' t
block(18,"新一代网络商城!","display center",0,500)
1 u2 h2 u9 a9 {( X
block(2,"新一代企业信息系统!","scroll left",25,0)
& W5 W+ w* Q5 U2 Q: P, Y* {* p
block(3,"全新的自助建站模式!","scroll right",25,0)
' ~! H7 b; G$ O! g
block(4,"欢迎光临七色风!","scroll lc",25,500)
$ E8 B5 w) O7 u" {: p& ?' N
block(5,"欢迎光临!","scroll rc",25,500)
1 [' b, \4 |1 W3 u3 c) L. X
block(6,"欢迎光临!","scroll cl",25,0)
f: h# V( E7 ]; B
block(7,"欢迎光临!","scroll cr",25,0)
- N) y* Y' T1 X: o1 `7 `8 H; S
block(8,"欢迎光临!","slide left",25,500)
( z- Q" [' `: L; k) _( {+ f
block(9,"欢迎光临!","slide lc",25,500)
5 y' f p; Z3 V: C2 ?2 T
block(10,"欢迎光临!","slide rc",25,500)
6 u, {5 ^/ D- T
block(11,"欢迎光临!","slide cl",25,0)
' N. ^, m0 C4 o6 \8 {
block(12,"国内域名:110元!","slide cr",25,0)
& e- H# R' r4 q3 f
block(13,"国际域名:58元!","slip left",25,0)
: }, }' ^3 \- }$ X9 j1 }
block(14,"欢迎光临中讯数据!","slip right",25,0)
/ q. C- m5 h& {. C4 M) O9 I
block(15,"欢迎您的光临","slip letter",25,0)
+ U$ ]+ K/ ]3 i, M. ~4 W% Y6 e
block(16,"","display",0,500)
7 X8 i2 |0 X2 A4 n; h" r
block(0,"欢迎欢迎!","merge",25,1000)
9 X7 s4 a" ^ Z+ k1 J C7 a# H
block(1,"欢迎!","split",25,0)
( Q9 T/ N) D" |2 E( Z+ m' n
//End User Vars
$ A* v9 P5 o2 _' K2 y" E3 b
/////////////////////////////////////////////////////////////////
" r* R8 w$ S0 e; A8 z& `, h' x) h0 k
8 a; y( |/ [& C9 H, H; c4 k
// Don't change!!!
7 n; V3 H4 q- ~& {. |* [3 t1 a
var tlen = 2.4 * len
5 ]# [1 G/ M) g
var cent = tlen / 2.2
/ e7 D6 u) A: M+ p# m: `
var clen = null
4 X, ~3 Z1 x! T0 B9 `6 R; ]
var tickered = null
$ J1 S% j& }6 _$ d j; q
var ini = null
m3 \: e7 g, [4 w; t; o
var iloop = 0
- [$ I1 i5 {) j7 x& m4 H6 S
if (loops == 0) {iloop = 1}
z2 x& O; N1 i" L9 _0 ?( a
var cblock = 0
1 m+ m4 i) m9 u% _( K0 P! u& p+ l
var timerID = null
- S: W* I2 Y; j; y# k& c1 K
var beg = null
2 g9 l/ ?5 W/ e& K+ I" u
var clet = null
: a. n. F+ h# d. }/ {+ m) q
var cstr = null
" G+ d2 z$ c2 t2 d7 g2 F
var cpos = null
( ^' ]6 u% e$ |
var ib = null
1 H4 ~, ]/ d6 ]7 q7 d( j4 k) \
var iba = null
2 Q2 W, F5 w% S1 m+ ~
var fs = null
$ W" Q8 @0 l# i0 p L
var hstr1 = null
* |1 `! I( V1 m( E0 U! O% ]! a- ?
var hstr2 = null
: ^( T$ ]4 [0 M7 U4 U* w3 k+ g6 t
<!-- end -->
T, F9 f* n! L" E
' W" L; p6 u4 ?# K9 _# y
</script>
1 `0 P8 S0 f3 E4 U$ u* R8 Y
<script language="JavaScript">
: t% `$ J9 O; U1 H* {/ o" o: i6 P
<!--
2 k9 B. \1 l r' q6 N
document.write('<form name="Active" onSubmit="0">')
4 U' i/ ~1 J: m- ^
document.write('<input type="text" name="ASCII" size="50">')
& Z1 o& b% Z. q! d
document.write('</form>')
9 e9 i$ m7 o8 _
Activate()
( Q$ z- Z# q$ P" S1 Q, c
<!-- end -->
7 B: }# E% i. q# O! C3 Q5 c
. ?* j- w) q3 F0 B( k, Q7 d
</script>
欢迎光临 捌玖网络工作室 (http://www.89w.org/)
Powered by Discuz! 7.2