これは jQuery UI と Javascript に関する非常に単純な質問かもしれませんが、私はまだこれらの構文について自分のやり方を感じています。C# (ASP.NET) プログラムがさまざまな関数で特定のポイントに到達するたびに、jQuery の進行状況バーを更新しようとしています。私はこれを正しくやっていますか?ページに空の進行状況バーが表示されますが、進行状況を更新できません。
ここに私のスクリプトがあります:
<script type="text/javascript">
$(document).ready(function() {
$("#progressbar").progressbar({ value: 0 });
});
function updateProgress(number) {
if (number < 100) {
$("#progressbar").progressbar("value", number);
}
}
</script>
ここに私のスクリプト参照のいくつかがあります:
<link href="Styles/tomcat.css" rel="stylesheet" type="text/css" />
<link rel="stylesheet" href="colorbox.css" />
<script src="Scripts/jquery-1.7.2.js" type="text/javascript"></script>
<script src="Scripts/jquery-ui-1.8.21.custom.js" type="text/javascript"></script>
<script type="text/javascript" src="Scripts/jquery.colorbox.js"></script>
<link href="Content/themes/base/jquery.ui.progressbar.css" rel="stylesheet" type="text/css" />
<link href="Content/themes/base/jquery-ui.css" rel="stylesheet" type="text/css" />
<script src="Scripts/jquery.ui.core.js" type="text/javascript"></script>
<link href="Scripts/jquery-ui-1.8.21.custom.css" rel="stylesheet" type="text/css" />
<script src="Scripts/jquery.ui.progressbar.js" type="text/javascript"></script>
<link href="Scripts/ui.all.css" rel="stylesheet" type="text/css" />
ここでは、C# 関数を介して updateProgress() 関数を使用しようとしています。プログレス バーに「10%」を送信しようとしていますが、デバッガーでエラーが発生し、updateProgress() が定義されていないと表示されます。
ScriptManager.RegisterStartupScript(this, this.GetType(), "temp", "<script language='javascript'>UpdateProgress(10);</script>", false);
編集:次のブール値を追加して、ページの更新と進行状況バーの更新をバイパスしました。
var runOnce = new Boolean;
runOnce = false;
$(document).ready(function() {
if(!runOnce)
{
$("#progressbar").progressbar({ value: 0 });
runOnce = true;
}
});
私はそれが働いているとは思わない。ページが読み込まれるたびにクリアされ、ゼロに戻されます。