と思われる非常に基本的なJavaScriptがあります。リンクがクリックされた回数と、5回目のクリックで新しいページにリダイレクトされます。それは次のようになります。Javascriptのクリックカウンタが1を超えていない
function counter() {
var counterCount = 0;
var amount = document.getElementById("amount");
counterCount += 1;
amount.innerHTML = counterCount;
if (counter === 5) {
\t document.location.replace('https://developer.mozilla.org');
}
}
<a onclick="counter()" href="#">I need to be clicked 5 times before I redirect</a>
<p id="amount"></p>
私はここで間違って何をしているのですか?
- なぜ私のカウンタは1を超えていませんか?
- なぜリダイレクトは機能しませんか?あなたがクリックするたびに、あなたは、単に外にあなたの変数を移動し、それを修正するには0
に戻ってあなたの変数を再初期化しているためである
関数が呼び出されるたびにカウンタをゼロにリセットします。何が起こると思いますか? –
counterCountは関数のローカルコンテキストでのみ作成され、関数の実行が終了するとカウンタは消去されます。これを回避するにはいくつかの方法がありますが、counterCountを関数の範囲外に定義するのが最も簡単です。さらに進んだモデルが必要な場合は、「スタックフレーム」を参照してください。 – slackOverflow