标题:
网页之多变的滚动字幕特效
[打印本页]
作者:
zw2004
时间:
2008-1-21 20:49
标题:
网页之多变的滚动字幕特效
<script language="JavaScript">
$ a8 [5 A- i: I" O6 o1 P
' c# @# |9 Q8 ~" Q
<!-- ActiveASCII by Neal Kanodia (please, don't delete this line)
2 j* z. ?- ]( {+ Z# |- q* j
: ]" [0 k" A+ i9 b
function createArr(num) { for(var i = 0; i < num; i++) { this
= null } }
9 I+ I) W7 v1 O9 g3 G
function fillArr(tx,me,ti,wa) { this.text = tx; this.method = me.toLowerCase(); this.ticks = ti; this.wait = wa }
& ^1 K& a5 s4 Q% p* p9 \+ z
function block(num,txt,mthod,tcks,wit) { blocks[num] = new fillArr(txt,mthod,tcks,wit) }
) m8 q3 h* @- Y4 n! ~5 J
function ms(unt) { var sp = ""; for( var i = 1; i <= unt; i++ ) { sp += " " } return(sp) }
9 q. I6 b4 q( ^- J# T' f( 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 }
* t" X* ?, w8 P/ Y& F
if (meth == "0") { document.Active.ASCII.value = end }
6 o- r, h- Y- Z: {+ L
if (meth == "display") { Tape = blocks[cblock].text; Wait = blocks[cblock].wait; Display() }
, S/ ~: F. v& M
if (meth == "display center") { Tape = blocks[cblock].text; Wait = blocks[cblock].wait; half = Tape.length / 2; DisplayC() }
* A7 t7 R& U) @1 t6 b
if (meth == "scroll left") { clen = tlen; Tape = blocks[cblock].text; Ticks = blocks[cblock].ticks; tTicks = Ticks * 2; ScrollL() }
9 ]: g2 K! {2 W0 ~- u7 n$ E
if (meth == "scroll right") { clen = 0 - blocks[cblock].text.length; Tape = blocks[cblock].text; Ticks = blocks[cblock].ticks; tTicks = Ticks * 2; ScrollR() }
1 D4 R7 W8 }* Q
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() }
1 x" f2 g( @# N" ?
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() }
0 G8 r* j& G1 ]+ m
if (meth == "scroll cl") { Tape = blocks[cblock].text; Ticks = blocks[cblock].ticks; tTicks = Ticks * 2; half = Tape.length / 2; clen = cent - half; ScrollCL() }
9 g8 R0 E$ G q4 \
if (meth == "scroll cr") { Tape = blocks[cblock].text; Ticks = blocks[cblock].ticks; tTicks = Ticks * 2; half = Tape.length / 2; clen = cent - half; ScrollCR() }
% M2 g! M9 c9 _; k, O
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() }
' h9 c0 H& B- ?7 r
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() }
) G/ b9 g$ i3 a# @3 \
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() }
8 _# S9 P4 W% [& [+ e& v) o! }
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() }
* e9 Z9 p5 B0 W6 Z# p5 b
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() }
* N% N" Y0 ]) i% n: E, L
if (meth == "slip left") { clen = 0; Tape = blocks[cblock].text; Ticks = blocks[cblock].ticks; SlipL() }
3 N6 x% u4 ^2 Y
if (meth == "slip right") { clen = 0; Tape = blocks[cblock].text; Ticks = blocks[cblock].ticks; SlipR() }
0 b& ^. `" b8 d5 N9 S7 {
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() }
6 i' {, e# a" S9 n) A! C
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() }
! R# L4 G5 N9 V
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() } }
/ t" E8 M O9 v: \) I- \
function Display() { document.Active.ASCII.value = Tape; cblock++; timerID = setTimeout("Activate()",Wait) }
) f* i/ T: b* @7 O8 M
function DisplayC() { var temp = cent - half; ini = ms(temp); document.Active.ASCII.value = ini + Tape; cblock++; timerID = setTimeout("Activate()",Wait) }
! }9 [: L3 x9 Y- P$ j4 D
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) } } }
) s5 {1 l- k8 `! F+ s5 Y
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 Y' P" q$ I7 t6 @0 ^, Z
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) } } }
0 q$ X( x, X8 U6 d- u4 r$ y" {
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) } }
v" M& Y( w6 A; N5 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) } } }
+ d0 Q/ U9 t" { ^) |% d3 j
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 T8 Y" B U; \- b/ Q. |* M7 n
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) } } }
Q( \- E3 k$ e' l5 P( a
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) } } }
$ } n; M5 U; h' V7 Y& i+ ]4 a7 V
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) } } }
. M7 e3 o) n& y0 [) C
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) } } }
; P$ z4 f6 h( U7 F6 \
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) } } }
* V. X9 B. h% C: g! @8 F- D; N
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) } }
) X7 h- c! S) y, b
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) } } }
9 ~5 \8 X! s: j7 r. t
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) } } }
+ N' p! Y9 w( x7 O- C
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) } } }
+ J1 r7 Y" `9 t6 n4 a5 e [
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) } }
9 ^* i* B [7 H6 J0 {( i+ r1 x# w: j
% O8 U% b# L7 D8 ^1 b
/////////////////////////////////////////////////////////////////
) ?# T5 X+ V5 Q& e$ t
//# User Vars
8 \4 q" z8 X; f* \7 L; O
// Number of blocks (see bottom) to be displayed.
- T7 ^3 a+ _$ e& s
// ***COMMON ERROR***: Make sure to set this value according to the
/ S' M1 W9 J( C: f% Q
// number of blocks (always the last block # + 1)!
- o3 U; {* D0 C- }% _) A+ T
var max = 18
! a& y7 `1 z9 |8 H$ N) }: R
+ @ a4 o6 W7 W8 T: U! U! m
// Don't change this!
5 |& U% D0 S% Z4 v( d
var blocks = new createArr(max)
' B. r; i4 P/ n9 S+ I
! u3 Z9 B* z' g0 w4 O" R
// Length of textbox
2 W" a( ]4 C4 F
// ***COMMON ERROR: If you change this or the length of the
8 u( B' ]& s- q& F- i/ z4 v
// textbox, remember to change the other accordingly.***
. P( v0 E- j7 L
var len = 50
* A, ]* J$ M- o; o
/ l! L6 x; Y R. H" {
// Number of time to loop ALL blocks (use 0 for unlimited)
" v7 b# q5 b5 g! j
var loops = 0
" w5 ]" L7 Q9 N; T* T
- \, z( Q/ o8 o+ A0 Z9 C( i5 s
// If you set the number of loops, set the final messege
6 e, n, X) S' l# p2 c; Y' q
var end = 'End of "ActiveASCII" by Neal Kanodia.'
* a \% {( [ z+ d: _7 W9 ?0 U
- x# c; y3 v$ C! O1 c. U
// Use this format for each string (starting at 0 until 1 less
2 i! r/ Y# Q Y: l
// than max):
! ]2 w' K2 y; r/ D' p3 Z. Y) ?/ Y
// block(#block,"Text to display","Method",#ticks,#wait)
; d7 Y& B1 s7 [0 O
// example: block(0,"1st block.","Scroll Left",25,0)
$ r. w g9 Y) g( F' ?, V$ c( u6 F* W
// ***COMMON ERROR***: If you add a block INCREASE MAX BY 1
+ w& }4 K+ w. d2 x
// ***COMMON ERROR***: If you remove a block DECREASE MAX BY 1
+ \. g6 X4 p. t2 r3 W
// ***COMMON ERROR***: Check the spelling of your methods!!!
& w# s4 b; a, [/ y/ ^3 }+ c6 L
block(17,"欢迎光临七色风!","display",0,500)
" |2 _3 X$ q( T; r- U/ X& c0 v5 R0 V/ Q6 N
block(18,"新一代网络商城!","display center",0,500)
4 T& K3 R! V5 M5 l# p, `
block(2,"新一代企业信息系统!","scroll left",25,0)
( ?: j1 W1 S) Y" F. [8 _
block(3,"全新的自助建站模式!","scroll right",25,0)
, ~6 \( a& k9 w$ f# U5 T" Y
block(4,"欢迎光临七色风!","scroll lc",25,500)
. z6 H* B- J2 j9 d1 h( s! w
block(5,"欢迎光临!","scroll rc",25,500)
0 {7 O: A; g# I* }3 G! ~
block(6,"欢迎光临!","scroll cl",25,0)
d) @3 S& \8 e( n3 V) j; \4 A# M
block(7,"欢迎光临!","scroll cr",25,0)
k3 z: t- C% F" u1 |
block(8,"欢迎光临!","slide left",25,500)
4 T0 x" U4 c( _1 Q1 U; q
block(9,"欢迎光临!","slide lc",25,500)
. T, }1 w( e0 n
block(10,"欢迎光临!","slide rc",25,500)
1 X- l' e; @8 r7 H, E/ {+ _
block(11,"欢迎光临!","slide cl",25,0)
8 W7 G: w+ b8 Y
block(12,"国内域名:110元!","slide cr",25,0)
& U, V: @( ]0 F. R
block(13,"国际域名:58元!","slip left",25,0)
2 [* w& y: H& _2 Q
block(14,"欢迎光临中讯数据!","slip right",25,0)
! U3 p2 f6 e4 Z. Q4 @
block(15,"欢迎您的光临","slip letter",25,0)
6 h# j7 z9 J: ~! m
block(16,"","display",0,500)
& G! y& F; z# t
block(0,"欢迎欢迎!","merge",25,1000)
: f& f+ c5 U. X: X: ~& t' B
block(1,"欢迎!","split",25,0)
3 k' f6 X# x8 w b4 V
//End User Vars
! O3 j* t3 a9 x u9 N
/////////////////////////////////////////////////////////////////
" A5 _2 n8 Y5 ~2 m( o8 p b/ C
. @$ k( q( k$ o% \4 v+ [
// Don't change!!!
Z2 p8 i( u0 H- ?/ {3 y& b
var tlen = 2.4 * len
6 N, ]3 ^3 f- I. k" p0 Y
var cent = tlen / 2.2
6 L1 u/ e% }/ d# I0 g
var clen = null
' Q* e2 F, e; Z+ k! A
var tickered = null
+ K; l- G7 h" i* x7 s
var ini = null
5 B2 g5 U* e% y1 j/ {+ h9 d' A
var iloop = 0
4 G7 `& f: o$ S8 D
if (loops == 0) {iloop = 1}
6 F; }& l% O2 k% Q
var cblock = 0
: Q5 A( B( D$ g0 b' y2 n) x
var timerID = null
; y, j" g# W# G1 l6 o, v! B
var beg = null
# T+ x/ g- C" {8 a/ P5 F
var clet = null
[: z3 \& r+ l6 A" ~- w
var cstr = null
; n5 v! U1 y* R: Y1 ^$ l7 H! x
var cpos = null
3 w' Y0 ^$ |/ V& p
var ib = null
: @' l, X3 V0 O6 N& Y
var iba = null
# \+ Q `- |/ e P( b# \
var fs = null
6 k8 h1 i) L! {2 i# J& B
var hstr1 = null
0 e6 G! A' c4 s9 `: q9 U7 T6 I
var hstr2 = null
y1 G( I n# y2 X) i: U1 `9 F
<!-- end -->
- l2 K+ r) D! t7 J) b
* t! R, F; f0 D+ v- H
</script>
/ u) R: B8 ~; G, K5 B9 V' e
<script language="JavaScript">
( o( v6 N7 r2 l& b. J8 d- H
<!--
4 ?* ]6 Q2 s/ d& w
document.write('<form name="Active" onSubmit="0">')
! B% G1 f3 T/ e& A, l) N; p+ P
document.write('<input type="text" name="ASCII" size="50">')
3 K3 t* ?( h- a1 t q3 d
document.write('</form>')
4 |# E) z, ~: e1 U0 q5 n
Activate()
. f, S+ r3 D- w' g
<!-- end -->
7 N- b1 @. C3 l7 g. p) K' m
5 d( Y q- `* G8 e( ]
</script>
欢迎光临 捌玖网络工作室 (http://89w.org/)
Powered by Discuz! 7.2