[ zwischen <HEAD> und </HEAD>]
<!--Style for layers -->
<style>
.hide { position:absolute; visibility:hidden; }
.show { position:absolute; visibility:visible; }
</style>
<script language="JavaScript">
<!-- Begin
var _progressBar
= new String("");
var _progressEnd
= 10 ;
var _progressAt
= 0 ;
var _progressWidth
= 50 ; //
Display width of progress bar
// Create
and display the progress dialog.
// end:
The number of steps to completion
function
ProgressCreate(end) {
//
Initialize state variables
_progressEnd
= end;
_progressAt
= 0;
//
Move layer to center of window to show
if
(document.all) { // Internet Explorer
progress.className = 'show';
progress.style.left = (document.body.clientWidth/2) - (progress.offsetWidth/2);
progress.style.top = (document.body.clientHeight/2) - (progress.offsetHeight/2);
}
else if (document.layers) { // Netscape
document.progress.visibility = true;
document.progress.left = (window.innerWidth/2) - 100;
document.progress.top = (window.innerHeight/2) - 40;
}
ProgressUpdate();
// Initialize bar
}
// Hide
the progress layer
function
ProgressDestroy() {
//
Move off screen to hide
if
(document.all) { // Internet Explorer
progress.className = 'hide';
}
else if (document.layers) { // Netscape
document.progress.visibility = false;
}
}
// Increment
the progress dialog one step
function
ProgressStepIt() {
_progressAt++;
if(_progressAt
> _progressEnd) _progressAt = _progressAt % _progressEnd;
ProgressUpdate();
}
// Update
the progress dialog with the current state
function
ProgressUpdate() {
var
n = (_progressWidth / _progressEnd) * _progressAt;
if
(document.all) { // Internet Explorer
var bar = dialog.bar;
} else if (document.layers) { // Netscape
var bar = document.layers["progress"].document.forms["dialog"].bar;
n = n * 0.55; // characters are larger
}
var
temp = _progressBar.substring(0, n);
bar.value
= temp;
}
// Demonstrate
a use of the progress dialog.
function
Demo() {
ProgressCreate(10);
window.setTimeout("Click()",
100);
}
function
Click() {
if(_progressAt
>= _progressEnd) {
ProgressDestroy();
return;
}
ProgressStepIt();
window.setTimeout("Click()",
500);
}
function
CallJS(jsStr) { //v2.0
return eval(jsStr)
}
//
End -->
</script>
[ zwischen <BODY> und </BODY>]
<script language="JavaScript">
<!--
Begin
// Create
layer for progress dialog
document.write("<span
id=\"progress\" class=\"hide\">");
document.write("<FORM
name=dialog>");
document.write("<TABLE
border=2 bgcolor=\"#FFFFCC\">");
document.write("<TR><TD
ALIGN=\"center\">");
document.write("Progress<BR>");
document.write("<input
type=text name=\"bar\" size=\"" + _progressWidth/2 + "\"");
if(document.all)
// Microsoft
document.write(" bar.style=\"color:navy;\">");
else
// Netscape
document.write(">");
document.write("</TD></TR>");
document.write("</TABLE>");
document.write("</FORM>");
document.write("</span>");
ProgressDestroy();
// Hides
//
End -->
</script>
Wenn Sie
auf den "Demo" Button klicken, erscheint ein Progress Dialog. Der Dialog
wird in
der Bildmitte zentriert. Jede halbe Sekunde wird die Anzeige fortschreiten.
Nach 5
Sekunden wird die Anzeige beendet.
<form
name="form1" method="post" action="">
<center>
<input
type="button" name="Demo" value="Demo" onClick="CallJS('Demo()')">
</center>
</form>