获得本站免费赞助空间请点这里
返回列表 发帖

网页之多变的滚动字幕特效

<script language="JavaScript">
- e3 e& _! R* r2 ~$ o8 R
+ h9 ~3 z8 X6 T( P<!-- ActiveASCII by Neal Kanodia (please, don't delete this line)9 K8 F" N6 W+ m

5 a9 l  E0 w: O; |+ e9 x! _function createArr(num) { for(var i = 0; i < num; i++) { this = null } }6 ~6 Z. A  v3 X! b  _
function fillArr(tx,me,ti,wa) { this.text = tx;  this.method = me.toLowerCase();  this.ticks = ti;  this.wait = wa }5 q5 V1 h: U% j' g* o$ f5 K
function block(num,txt,mthod,tcks,wit) { blocks[num] = new fillArr(txt,mthod,tcks,wit) }
3 C7 |# p" J! P. @- \& M1 Ufunction ms(unt) { var sp = "";  for( var i = 1; i <= unt; i++ ) { sp += " " } return(sp) }
: g. v4 ]; [- Zfunction 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 }1 l8 E2 c/ p/ g5 l* J
if (meth == "0") { document.Active.ASCII.value = end }5 M/ L+ y& C7 e0 H8 t
if (meth == "display") { Tape = blocks[cblock].text;  Wait = blocks[cblock].wait;  Display() }3 Y% E9 Z' f% D/ `3 z
if (meth == "display center") { Tape = blocks[cblock].text;  Wait = blocks[cblock].wait;  half = Tape.length / 2;  DisplayC() }9 \5 a5 Y* ?$ u
if (meth == "scroll left") { clen = tlen;  Tape = blocks[cblock].text;  Ticks = blocks[cblock].ticks;  tTicks = Ticks * 2;  ScrollL() }
7 @+ P* t, ?9 v" _; \  Tif (meth == "scroll right") { clen = 0 - blocks[cblock].text.length;  Tape = blocks[cblock].text;  Ticks = blocks[cblock].ticks;  tTicks = Ticks * 2;  ScrollR() }
7 @  v  M: P1 X! V% D) ]1 T( ^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() }
7 `9 e) m% M  P" }; M( T5 m9 ~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() }; E+ K+ X7 n" X
if (meth == "scroll cl") { Tape = blocks[cblock].text;  Ticks = blocks[cblock].ticks;  tTicks = Ticks * 2;  half = Tape.length / 2;  clen = cent - half;  ScrollCL() }
0 h9 B+ E6 i5 @$ u2 u" @# `& Aif (meth == "scroll cr") { Tape = blocks[cblock].text;  Ticks = blocks[cblock].ticks;  tTicks = Ticks * 2;  half = Tape.length / 2;  clen = cent - half;  ScrollCR() }
5 m6 |( e- B3 U. yif (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() }9 \" d3 l* e/ V! v
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() }* n1 e& w. x% y9 }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() }$ Z. ?  G, n2 E  }
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() }& `1 Q4 D7 \* O& }, S
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() }! J* W# }( p0 o$ b# _, _7 d
if (meth == "slip left") { clen = 0;  Tape = blocks[cblock].text;  Ticks = blocks[cblock].ticks;  SlipL() }6 L$ @# o+ `( r7 u, ^3 I0 Q
if (meth == "slip right") { clen = 0;  Tape = blocks[cblock].text;  Ticks = blocks[cblock].ticks;  SlipR() }* a; L- b8 P. F  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() }! f  H, k0 z8 R' i4 {' g2 w* G/ u
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() }
' C) u6 `/ U0 E# xif (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() } }& D- g  {6 B3 Q
function Display() { document.Active.ASCII.value = Tape;  cblock++;  timerID = setTimeout("Activate()",Wait) }
4 `2 p3 y8 t- nfunction DisplayC() { var temp = cent - half;  ini = ms(temp);  document.Active.ASCII.value = ini + Tape;  cblock++;  timerID = setTimeout("Activate()",Wait) }
7 U* j$ D$ o$ f# o  Lfunction 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) } } }+ Q0 t! `1 L# v/ ?- B
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) } }
5 ]8 k4 \8 l" ~, M: mfunction 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) } } }9 v5 f# M' n. X+ ?* c; E7 m
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) } }! F: a. v' r$ D" `, n2 W1 @
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) } } }
1 W( b+ E& L5 x- e- g7 Gfunction 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) } }
. t& z) W8 _4 H$ H7 Wfunction 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) } } }
: W6 Y% F+ h* t) g; a) Yfunction 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) } } }  e/ U. ^% d' g( H. G1 t
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) } } }9 j* S+ s4 \* N  @
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) } } }
; H' o6 g$ ]  n4 C; efunction 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) } } }
9 b" e! {5 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) } }- m3 e! r7 O8 G+ b* Y& w
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) } } }  O. X4 c4 ~, v; S! L( K
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) } } }, m; Q" D7 i! o( K% 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) } } }6 c; Y! I; j, Z  M" q$ C
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) } }
: i% |; n' |* X- w- O. `$ d
- u5 m" [: x1 [" v0 K& f/////////////////////////////////////////////////////////////////
( d- E& O8 `; {+ ^//# User Vars# N8 h. D4 U+ i- ^
// Number of blocks (see bottom) to be displayed.7 n. J% r2 [7 h% b1 _& W
// ***COMMON ERROR***: Make sure to set this value according to the3 C0 p, y( J* q- w$ w" e+ ?
// number of blocks (always the last block # + 1)!
& f/ c1 b1 ^4 L! y1 [! Xvar max = 18
5 Z/ P6 R8 \" I% {4 ]; n: l3 i, G4 f
// Don't change this!; E& M0 U: Y# z' h# h
var blocks = new createArr(max)7 ^7 j9 b( S$ q1 g! N8 `' u

3 d  S/ X# D1 p5 z/ o5 W// Length of textbox
  H- ^6 s7 Q: q7 D5 |, j! \// ***COMMON ERROR: If you change this or the length of the7 i/ p6 Q1 W& }( A7 }
// textbox, remember to change the other accordingly.***
6 b7 u0 e4 o: x7 g1 h/ O& K3 ivar len = 50
$ M, v: {; b- [
5 D& K4 D" G! e! d// Number of time to loop ALL blocks (use 0 for unlimited)
0 d+ A) w  I' m0 N! uvar loops = 0* Y- O0 e" @% v! N9 L

1 g0 [! j& U- \- K% p; ]// If you set the number of loops, set the final messege
) h7 w9 }3 e* I4 \: f/ S  `var end = 'End of "ActiveASCII" by Neal Kanodia.'1 |' v* W5 ^! |3 Y: `( X9 a4 p
, s8 Y1 f* Z  ~* r8 l
// Use this format for each string (starting at 0 until 1 less- O: H. U- G4 l5 \8 O. `, R7 l# C
// than max):
# W! U( m) A5 h/ ?// block(#block,"Text to display","Method",#ticks,#wait)
7 `: c/ R- a; n  [6 w// example: block(0,"1st block.","Scroll Left",25,0)% O  @" J1 y- ^0 Z% |
// ***COMMON ERROR***: If you add a block INCREASE MAX BY 16 ~9 j" F: `" \* o$ v# I/ c
// ***COMMON ERROR***: If you remove a block DECREASE MAX BY 1
9 @3 K/ K4 T$ q( `$ ?8 n( s// ***COMMON ERROR***: Check the spelling of your methods!!!
$ K/ o. Z. e7 Yblock(17,"欢迎光临七色风!","display",0,500)
0 ~; P: n% D' k0 b* @2 A( ~block(18,"新一代网络商城!","display center",0,500)
1 G2 O' b, N; Z2 D( Eblock(2,"新一代企业信息系统!","scroll left",25,0)  s' c. K  l4 n) g+ @
block(3,"全新的自助建站模式!","scroll right",25,0)
- F+ k- E7 c% s7 Bblock(4,"欢迎光临七色风!","scroll lc",25,500)2 H4 @$ z, L& G# q* J" p
block(5,"欢迎光临!","scroll rc",25,500)1 T/ T/ N9 ~2 U$ g
block(6,"欢迎光临!","scroll cl",25,0)
2 R4 z/ Z* }+ C. Lblock(7,"欢迎光临!","scroll cr",25,0)
9 t1 f8 c4 V8 P+ z3 j0 ^! t6 T! Fblock(8,"欢迎光临!","slide left",25,500). Y! @. j7 B' Q( q1 ~
block(9,"欢迎光临!","slide lc",25,500)
- c$ ~8 U' W" p& b  J7 Yblock(10,"欢迎光临!","slide rc",25,500)9 @' z4 O8 g  x' b
block(11,"欢迎光临!","slide cl",25,0)( E; d. x) C/ H3 \9 l
block(12,"国内域名:110元!","slide cr",25,0)' P  R. U' ?" \: Y0 q) t
block(13,"国际域名:58元!","slip left",25,0)/ W: W0 a/ N7 {2 x5 w9 n
block(14,"欢迎光临中讯数据!","slip right",25,0)
$ |' W' Q# P9 A# lblock(15,"欢迎您的光临","slip letter",25,0)
4 p3 }# @/ p; R6 k) mblock(16,"","display",0,500)1 Y1 M- I( N5 f1 z( f
block(0,"欢迎欢迎!","merge",25,1000)
' @' ]0 D% e( K' J0 Xblock(1,"欢迎!","split",25,0)
& i7 |/ Q  Z: \; s//End User Vars/ h- ]. C% y  E, j3 n
/////////////////////////////////////////////////////////////////3 S( A) n2 }) m  F
2 l, t  M: ]+ w9 c; B5 S( }* @1 b
// Don't change!!!
' M& H9 p8 ?5 u2 Z" }, a% N" svar tlen = 2.4 * len
; y0 ?% S7 q% dvar cent = tlen / 2.2$ X. ^% o( p! Q
var clen = null& I/ M! O' }1 D
var tickered = null/ ?6 h7 C- l3 @8 x( e  s* t& o
var ini = null
: a: A2 {( G! e4 Bvar iloop = 08 H. A( _3 f0 [  t
if (loops == 0) {iloop = 1}
8 f) A+ _) N* \6 O7 B& ]var cblock = 01 l9 v: u% W; V, h% o9 Q0 ]$ R9 R
var timerID = null
" ?3 v4 t+ w- d. \var beg = null
" Q; F1 ?5 D' {, S. {var clet = null3 L) s" C8 B8 M: {' G8 f- Y
var cstr = null% {+ Y! |: G1 A* L2 \# y" T& N
var cpos = null
! j0 V; l6 r, ?. @: H8 ]3 h. Avar ib = null
: q0 t1 x6 X% y" ~var iba = null
9 b7 b, i0 H9 ]- i- c, _. X  Dvar fs = null
; j' Q3 ]5 Q" N. d' d; X4 U% svar hstr1 = null
% C; z( g0 E$ T. U% v! k5 kvar hstr2 = null" z1 F5 z* r9 V0 D
<!-- end  -->! [' f- w+ L, x! r  q

# ~8 E; Y" i2 [</script>% X; q/ d1 g6 I
<script language="JavaScript">
7 X' E" g! h9 T5 X& E<!--
/ B' F$ e% x! Y' x7 U5 adocument.write('<form name="Active" onSubmit="0">')  y6 K- r, K0 g+ b" c. g
document.write('<input type="text" name="ASCII" size="50">')
( W, ^% T; l/ Y4 C9 zdocument.write('</form>')$ \$ j# s7 @, D0 L" Z3 l% R
Activate()
1 o" r( y% T( A9 f0 R<!-- end -->
6 Z; D: K+ |) _& F
- F" A" q8 p+ u* h& V3 F  G% R& h2 Q</script>

返回列表
【捌玖网络】已经运行: