我很久以前有一段代码,并且正在尝试将其集成到HTML5中。它是用VBScript编写的,不再受支持,我想把它改成现代浏览器所理解的东西。这最初是HTA文件的一部分,但除了这个脚本之外,HTML5中的所有内容都可以正常工作。任何帮助将不胜感激。
代码:
</style>
<font color="#FF0000" size="+3"><marquee>Marquee Text Here</marquee></font>
<script language="vbscript">
Public n, iTimerID, MyTitle, colnum, carset
ReDim M(1,1)
ReDim SpecCar(64)
SpecCar(0)="‰"
SpecCar(1)="ƒ" : SpecCar(11)="Ω" : SpecCar(21)="λ" : SpecCar(31)="φ"
SpecCar(2)="Γ" : SpecCar(12)="α" : SpecCar(22)="μ" : SpecCar(32)="ψ"
SpecCar(3)="Δ" : SpecCar(13)="β" : SpecCar(23)="ν" : SpecCar(33)="ω"
SpecCar(4)="Θ" : SpecCar(14)="δ" : SpecCar(24)="ξ" : SpecCar(34)="™"
SpecCar(5)="Λ" : SpecCar(15)="ε" : SpecCar(25)="π" : SpecCar(35)="←"
SpecCar(6)="Ξ" : SpecCar(16)="ζ" : SpecCar(26)="ρ" : SpecCar(36)="↑"
SpecCar(7)="Π" : SpecCar(17)="η" : SpecCar(27)="ς" : SpecCar(37)="→"
SpecCar(8)="Σ" : SpecCar(19)="ι" : SpecCar(29)="τ" : SpecCar(39)="↔"
SpecCar(10)="Ψ" : SpecCar(20)="κ" : SpecCar(30)="υ": SpecCar(40)="√"
SpecCar(41)="∞" : SpecCar(46)="∴" : SpecCar(51)="≥" : SpecCar(56)="♣"
SpecCar(42)="∠" : SpecCar(47)="≈" : SpecCar(52)="⊕" : SpecCar(57)="♥"
SpecCar(43)="∩" : SpecCar(48)="≠" : SpecCar(53)="⊥" : SpecCar(58)="♦"
SpecCar(44)="∪" : SpecCar(49)="≡" : SpecCar(54)="◊" : SpecCar(59)="Œ"
SpecCar(45)="∫" : SpecCar(50)="≤" : SpecCar(55)="♠" : SpecCar(60)="†"
SpecCar(61)="‡": SpecCar(62)="€" : SpecCar(63)="œ" : SpecCar(64)="Š"
Sub window_onLoad()
n = 48
colnum = 100
carset = 1
ReDim M(colnum,1)
' Set a random number for the first character
' to be written on the screen for each column
' (div). This is useful to avoid all the
' column to start at the same place
For i=1 To colnum
Randomize '---This formula doesn't accept variables
M(i,0) = Int(n*Rnd) '--- M(i,0) contains the number of the character to be written
t = ""
'--- Fill the column with white space
For j=1 To n
t = t & " <br>"
Next
M(i,1) = t '--- M(i,1) contains the html of the column
Next
iTimerID = window.setInterval("Progress", 300)
End Sub
Sub Progress
For i=1 To colnum
l = Split(M(i,1), "<br>") '--- split by each character in the column
cpos = M(i,0) '--- position of the character to be written on the screen at this time
'--- write a random ascii or a character from the array
Randomize
If Int(carset) = 1 Then
l(cpos) = "<span style=""color:GreenYellow"">" & Chr( 32 + Int(223*Rnd) ) & "</span>"
carset = carset +0.25
ElseIf Int(carset) = 2 Then
l(cpos) = "<span style=""color:GreenYellow"">" & SpecCar( Int(64*Rnd) ) & "</span>"
carset = 1
End If
'--- scale down to dark the previous characters
y = -1
For j = cpos-1 To cpos-11 Step -1
tempj = j
If j < 0 Then '--- when we start from the top, darken characters at the bottom
j = UBound(l) +j +1
End If
y = y + 1
Select Case y
Case 0 color="LawnGreen"
Case 1 color="LawnGreen"
Case 2 color="LimeGreen"
Case 3 color="LimeGreen"
Case 4 color="ForestGreen"
Case 5 color="ForestGreen"
Case 6 color="Green"
Case 7 color="Green"
Case 8 color="DarkGreen"
Case 9 color="DarkGreen"
Case 10 color=""
End Select
clj = l(j)
If InStr(1, clj, "<span", 1) > 0 Then '--- isolate the character from the span tag
clj = Left(clj, InStrRev(clj, "<") - 1)
clj = Mid(clj, InStr(clj, ">") + 1)
End If
If color <> "" Then '--- set a span with a color style only if necessary
l(j) = "<span style=""color:" & color & """>" & clj & "</span>"
Else
l(j) = clj
End If
j = tempj
Next
t = Join(l, "<br>")
M(i,1) = t '--- M(i,1) contains the html of the column
cpos = cpos +1
If cpos > UBound(l) Then
cpos = 0
End If
M(i,0) = cpos '--- M(i,0) contains the number of the character to be written
id("col" & i).innerHTML = t '--- Show the result for this the column on the screen
Next
End Sub
Sub ExitMatrix
window.clearInterval(iTimerID) '---You must always clear the intervals before leaving
window.close
End Sub
Function id(o)
Set id = document.getElementById(o)
End Function
</script>