如何用VBScript实现一个进度条
编号:QA002700
建立日期: 2000年3月11日 最后修改日期:2000年3月30日
所属类别:
李宗印:
操作系统:Windows95,windows98
编程工具:VBScript
问题:我正在用VBScript编写基于 internet的程序,想实现一个进度条, 但苦于找不到相应的函数或控件。请各位专家给予指导。
回答:
上侠·于思的意见:
你可以利用浏览器底部的状态栏实现,也可以写一个控件,但要通过客户端的安全检验!
下面是用js写的一段控制浏览器底部的状态栏的脚本:
<script language="Javascript">
var speed = 800
var pause = 1000
var timerID = null
var bannerRunning = false
var ar = new Array()
ar[0] = "■■■■■■■■■■■■■■■■■■■■"
var currentMessage = 0
var offset = 0
function stopBanner() {
if (bannerRunning)
clearTimeout(timerID)
bannerRunning = false}
function startBanner() {
stopBanner()
showBanner()
}
function showBanner() {
var text = ar[currentMessage]
if (offset < text.length) {
if (text.charAt(offset) == " ")
offset++
var partialMessage = text.substring(0, offset + 1)
window.status = partialMessage
offset++
timerID = setTimeout("showBanner()", speed)
bannerRunning = true}
else {
offset = 0
currentMessage++
if (currentMessage == ar.length)
currentMessage = 0
timerID = setTimeout("showBanner()", pause)
bannerRunning = true }}
startBanner();
</SCRIPT>
以下是源代码:
----------------------------------------
<HTML>
<HEAD>
<SCRIPT ID=clientEventHandlersJS LANGUAGE=javascript>
<!--
function button1_onclick() {
ProgressBar1.Value=25;
}
function button2_onclick() {
ProgressBar1.Value=50;
}
function button3_onclick() {
ProgressBar1.Value=ProgressBar1.Value+1;
}
function button4_onclick() {
ProgressBar1.Value=ProgressBar1.Value-1;
}
function Slider1_Change() {
ProgressBar1.Value=Slider1.Value;
}
//-->
</SCRIPT>
<SCRIPT LANGUAGE=javascript FOR=Slider1 EVENT=Change>
<!--
Slider1_Change()
//-->
</SCRIPT>
</HEAD>
<BODY>
<P>
<FORM method=post name=FORM1 LANGUAGE=javascript>
<INPUT name=button1 type=button value=25% LANGUAGE=javascript onclick="return button1_onclick()"><BR>
<INPUT name=button2 type=button value=50% LANGUAGE=javascript onclick="return button2_onclick()"><BR>
<INPUT name=button3 type=button value=+1% LANGUAGE=javascript onclick="return button3_onclick()"><BR>
<INPUT name=button4 type=button value=-1% LANGUAGE=javascript onclick="return button4_onclick()"></P></FORM><P> </P>
<P>
<OBJECT classid=clsid:0713E8D2-850A-101B-AFC0-4210102A8DA7 height=15
id=ProgressBar1 style="HEIGHT: 15px; LEFT: 0px; TOP: 0px; WIDTH: 364px"
width=364><PARAM NAME="_ExtentX" VALUE="9631"><PARAM NAME="_ExtentY" VALUE="397"><PARAM NAME="_Version" VALUE="327682"><PARAM NAME="BorderStyle" VALUE="0"><PARAM NAME="Appearance" VALUE="1"><PARAM NAME="MousePointer" VALUE="0"><PARAM NAME="Enabled" VALUE="1"><PARAM NAME="OLEDropMode" VALUE="0"><PARAM NAME="Min" VALUE="0"><PARAM NAME="Max" VALUE="100"></OBJECT>
</P>
<OBJECT classid=clsid:373FF7F0-EB8B-11CD-8820-08002B2F4F5A height=16 id=Slider1
style="HEIGHT: 41px; LEFT: 10px; TOP: 202px; WIDTH: 365px" width=365><PARAM NAME="_ExtentX" VALUE="9657"><PARAM NAME="_ExtentY" VALUE="900"><PARAM NAME="_Version" VALUE="327682"><PARAM NAME="BorderStyle" VALUE="0"><PARAM NAME="MousePointer" VALUE="0"><PARAM NAME="Enabled" VALUE="1"><PARAM NAME="OLEDropMode" VALUE="0"><PARAM NAME="Orientation" VALUE="0"><PARAM NAME="LargeChange" VALUE="5"><PARAM NAME="SmallChange" VALUE="1"><PARAM NAME="Min" VALUE="0"><PARAM NAME="Max" VALUE="100"><PARAM NAME="SelectRange" VALUE="0"><PARAM NAME="SelStart" VALUE="0"><PARAM NAME="SelLength" VALUE="0"><PARAM NAME="TickStyle" VALUE="3"><PARAM NAME="TickFrequency" VALUE="1"><PARAM NAME="Value" VALUE="0"></OBJECT> <p>
上侠·于思 提供</p>
<p>--------------------------------------<br>
美貌与智慧并重,英雄与侠义的化身!<br>
<font color="#FF0000">上</font>天下地,盖世无敌,狂刀霹雳,英俊<font color="#FF0000">侠</font>!<br>
--------------------------------------<br>
现任:东方网景《游戏频道》至尊大斑竹!!<br>
四月大改版,主治医师!!敬请关注!!</p>
</BODY>
</HTML>
Kurt的意见:
您的问题问的有点模糊,我不知道如何取得进度条的数据,可以参考以下方法
1.如果您熟悉JAVA APPLET,可以考虑用它来完成,通过ASP读出数据库数据,然后放到cookie,用APPLET来读取COOKIE的值,写出进度条。
2.这其实是个偷懒的方法,利用ASP可以控制HTML,你可以利用HTML的按钮来制作进度条,通过ASP读出的数据然后控制按钮的width来得到进度条,我就曾经有这个方法制作的投票箱。
3.就是你自己写个服务器控件了。
此问题由上侠·于思等回答。
| |
|
|
| |
|
|