mirror of
https://github.com/jquery/jquery-ui.git
synced 2024-11-21 11:04:24 +00:00
116 lines
2.7 KiB
HTML
116 lines
2.7 KiB
HTML
<!doctype html>
|
|
<html lang="en">
|
|
<head>
|
|
<meta charset="utf-8">
|
|
<title>jQuery UI Progressbar - Download Dialog</title>
|
|
<link rel="stylesheet" href="../../themes/base/all.css">
|
|
<script src="../../jquery.js"></script>
|
|
<script src="../../ui/core.js"></script>
|
|
<script src="../../ui/widget.js"></script>
|
|
<script src="../../ui/progressbar.js"></script>
|
|
<script src="../../ui/mouse.js"></script>
|
|
<script src="../../ui/draggable.js"></script>
|
|
<script src="../../ui/button.js"></script>
|
|
<script src="../../ui/position.js"></script>
|
|
<script src="../../ui/dialog.js"></script>
|
|
<link rel="stylesheet" href="../demos.css">
|
|
<script>
|
|
$(function() {
|
|
var progressTimer,
|
|
progressbar = $( "#progressbar" ),
|
|
progressLabel = $( ".progress-label" ),
|
|
dialogButtons = [{
|
|
text: "Cancel Download",
|
|
click: closeDownload
|
|
}],
|
|
dialog = $( "#dialog" ).dialog({
|
|
autoOpen: false,
|
|
closeOnEscape: false,
|
|
resizable: false,
|
|
buttons: dialogButtons,
|
|
open: function() {
|
|
progressTimer = setTimeout( progress, 2000 );
|
|
},
|
|
beforeClose: function() {
|
|
downloadButton.button( "option", {
|
|
disabled: false,
|
|
label: "Start Download"
|
|
});
|
|
}
|
|
}),
|
|
downloadButton = $( "#downloadButton" )
|
|
.button()
|
|
.on( "click", function() {
|
|
$( this ).button( "option", {
|
|
disabled: true,
|
|
label: "Downloading..."
|
|
});
|
|
dialog.dialog( "open" );
|
|
});
|
|
|
|
progressbar.progressbar({
|
|
value: false,
|
|
change: function() {
|
|
progressLabel.text( "Current Progress: " + progressbar.progressbar( "value" ) + "%" );
|
|
},
|
|
complete: function() {
|
|
progressLabel.text( "Complete!" );
|
|
dialog.dialog( "option", "buttons", [{
|
|
text: "Close",
|
|
click: closeDownload
|
|
}]);
|
|
$(".ui-dialog button").last().focus();
|
|
}
|
|
});
|
|
|
|
function progress() {
|
|
var val = progressbar.progressbar( "value" ) || 0;
|
|
|
|
progressbar.progressbar( "value", val + Math.floor( Math.random() * 3 ) );
|
|
|
|
if ( val <= 99 ) {
|
|
progressTimer = setTimeout( progress, 50 );
|
|
}
|
|
}
|
|
|
|
function closeDownload() {
|
|
clearTimeout( progressTimer );
|
|
dialog
|
|
.dialog( "option", "buttons", dialogButtons )
|
|
.dialog( "close" );
|
|
progressbar.progressbar( "value", false );
|
|
progressLabel
|
|
.text( "Starting download..." );
|
|
downloadButton.focus();
|
|
}
|
|
});
|
|
</script>
|
|
<style>
|
|
#progressbar {
|
|
margin-top: 20px;
|
|
}
|
|
|
|
.progress-label {
|
|
font-weight: bold;
|
|
text-shadow: 1px 1px 0 #fff;
|
|
}
|
|
|
|
.ui-dialog-titlebar-close {
|
|
display: none;
|
|
}
|
|
</style>
|
|
</head>
|
|
<body>
|
|
|
|
<div id="dialog" title="File Download">
|
|
<div class="progress-label">Starting download...</div>
|
|
<div id="progressbar"></div>
|
|
</div>
|
|
<button id="downloadButton">Start Download</button>
|
|
|
|
<div class="demo-description">
|
|
<p>Download dialog progressbar demo.</p>
|
|
</div>
|
|
</body>
|
|
</html>
|