ユーザーがページのさらに下を読み続けると、タイマーが何度も表示される必要がある単一のページがあります。
同じタイマーで、一定時間カウントダウンするだけです。
タイマーは最初のコンテンツ スパンでのみ完全に機能していますが、指定した他のすべての要素では表示されません。
.js ファイル内のコードは次のようになります。
document.getElementById('minutes').innerHTML = padNums(minutes, 2);
document.getElementById('seconds').innerHTML = padNums(seconds, 2);
document.getElementById('milliseconds').innerHTML = padNums(milliseconds, 3);
HTML ファイル内のスクリプト:
$('.counter').html('<span id="minutes">0</span>' + ':' + '<span id="seconds">0</span>' + ':' + '<span id="milliseconds">0</span>' );
そしてHTML:
<div class="wrapper">
<p> There is this much time left: <span class="counter"> </span> </p>
<p> There is this much time left: <span class="counter"> </span> </p>
<p> There is this much time left: <span class="counter"> </span> </p>
</div>
..........
.js メソッドを getElementsByClass に変更し、スパンを ID ではなくクラスに変更しようとしました。そして、最初のカウントダウンでさえ機能しなくなりました。
他に何を試すことができますか?
ありがとう
以下から提案されているように、私が試した別のコードセットを次に示します。
HTMLページ内:
<div class="wrapper">
<p> There is this much time left: <span class="counter"> </span> </p>
<p> There is this much time left: <span class="counter"> </span> </p>
<p> There is this much time left: <span class="counter"> </span> </p>
</div>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<script type="text/javascript">
$('.counter').html('<span class="minutes">0</span>' + ':' + '<span
class="seconds">0</span>' + ':' + '<span class="milliseconds">0</span>' );
</script>
そして.js内:
$('.minutes').innerHTML = padNums(minutes, 2);
$('.seconds').innerHTML = padNums(seconds, 2);
$('.milliseconds').innerHTML = padNums(milliseconds, 3);
とはいえ...これもうまくいきません。
これを達成する最も簡単な方法は、タイマーごとに一意の ID のセットをさらに作成することですが、これを行うためのよりエレガントな方法が必要です。