JQueryUIとJavascriptが初めてで、JQueryUI ProgressBarを使用しています。誰かがボタンをクリックするたびに、プログレスバーがアニメーション化されていっぱいになります。どのボタンが既に押されているかを追跡して、ボタンがイベントを再度トリガーするのを防ぐ方法はありますか?Javascript/JQueryでボタンイベントが1回だけトリガーされるようにするにはどうすればいいですか?
現在のHTML:
<ul>
<li><a href="left/section1.html" target="leftcontainer" onClick="updateBar();window.presentation.location.href='right/section1/page1.html';;return true;">overview</a></li>
<li><a href="left/section2.html" target="leftcontainer" onClick="updateBar();window.presentation.location.href='right/section1/page1.html';;return true;">key features</a></li>
<li><a href="#" onClick="updateBar()">customers</a></li>
<li><a href="#" onClick="updateBar()">accessories</a></li>
<!--<li><a href="#">nav5</a></li>
<li><a href="#">nav6</a></li> -->
</ul>
現在のjQueryの/ JavaScriptは:
var percentage = 0;
function updateBar()
{
percentage += 25;
$('.ui-progressbar-value').stop().animate({ width: percentage+"%" }, 500)
$('.middle').progressbar('option','value', percentage);
if(percentage > 100)
{
$('ui-progressbar-value').stop().animate({ width: "100%"}, 500);
}
}
$(function() {
$('.middle').progressbar({
value: percentage,
complete: function() { alert('The progress bar is full'); }
});
シンプルでポイントに、魅力のように働きました。もう少しJQueryのドキュメントを掘り下げなければならないでしょう。どうもありがとう! :D – lislis
ページがリフレッシュまたはリロードされた後、ユーザーは再び関数を呼び出すことができます。これを制限する方法はありますか?この関数はiframeページで呼び出され、ユーザーがリンクをクリックするとそのページが更新され、一度の呼び出しが無効になるため、私は尋ねています。何か案は? – lislis
ページがリロードされると、JSがリロードされます。 page.html?perc = 25のようなパラメータを使用してページをリロードすると、リロード時にパーセンテージがすでに25%になっていることがわかります。または、ページパラメータを介してクリックされた要素を渡します。次に、ページの読み込み時にURLパラメータを解析し、リンクを無効にする必要があります。それはまったく別の問題だ。 – Loktar