2つの異なる要素を使用して、完了時にフォームをリセットできるようにすることをお勧めします。ただし、1つのdivで実行できますが、ボタンにプログレスバー要素を追加する必要があります。プログレスバーを作成する他の方法がない限り...プログレス。
ボタンがクリックされたら、カラーフォーマットを削除し、空白のプログレスバーを追加します。プログレスバーが更新されると、ボタンがいっぱいになるまで幅が広くなります。
これがあなたが始めるためのフィドルです:http://jsfiddle.net/zRBxR/
css:
.progress,
.progress:hover {
background: transparent;
padding: 0;
height: 30px;
width: 68px;
}
#progress-bar {
background: #000;
display: block;
height: 30px;
width: 0;
}
html:
<html>
<body>
<div id="progress-button" class="btn btn-primary btn-default" onclick="startProgress();">Button</div>
</body>
</html>
js:
var progress = 0;
function startProgress()
{
// change button to progress button, and add progress bar
$('#progress-button').addClass('progress').html('<span id="progress-bar"></span>');
// update progress bar every 0.5 second
setInterval(function(){
$('#progress-bar').width(progress);
progress++;
}, 500);
}