JavaScript
 Computer >> コンピューター >  >> プログラミング >> JavaScript

JavaScriptでカウンターをインクリメントする方法【counterIncrementプロパティの使い方】

JavaScriptでカウンターをインクリメントするには?

CSSのカウンターを増加させるには、counterIncrement プロパティを使用します。JavaScriptからは、要素の style.counterIncrement に値を設定することで、カウンターの増加方法を動的に変更できます。

以下のコードを実行すると、JavaScriptで1つ以上のカウンターをインクリメントする動作を確認できます。

サンプルコード

<!DOCTYPE html>
<html>
   <head>
      <style>
         h2 {
            counter-increment: section;
         }
         h2:before {
            content: counter(section) " Quiz ";
         }
      </style>
   </head>
   <body>
      <h1>Quizzes</h1>
      <p>Change the counterIncrement</p>
      <h2>Ruby</h2>
      <h2 id="myID">Java</h2>
      <h2>PHP</h2>
      <h2>Perl</h2>
      <button onclick="display()">Update Counter Increment</button>
      <script>
         function display() {
            document.getElementById("myID").style.counterIncrement = "subsection";
         }
      </script>
   </body>
</html>

コードの解説

このサンプルでは、まずCSS側で counter-increment: section; を指定することにより、<h2> 要素が現れるたびに「section」という名前のカウンターが1ずつ増加します。さらに :before 疑似要素と content プロパティを組み合わせることで、各見出しの先頭に「1 Quiz」「2 Quiz」のように連番が自動的に表示されます。

ボタンをクリックすると、JavaScriptの display() 関数が実行され、idが「myID」の要素(Javaの見出し)に対して style.counterIncrement = "subsection"; が設定されます。これにより、その要素のカウンターの増加単位を動的に変更でき、表示される番号に変化が生じます。

ポイントまとめ

  • CSSカウンターの作成・初期化には counter-reset、増加には counter-increment を使用します。
  • JavaScriptから操作する場合は、element.style.counterIncrement に値を代入します。
  • カウンターの値を表示するには、::before / ::after 疑似要素の content プロパティで counter() 関数を使います。
  • 複数のカウンターを同時に扱うことも可能で、スペース区切りで「counter名 増分」を指定できます(例:counter-increment: section 2;)。

  1. JavaScriptでテキストを切り替える(トグルする)方法を解説

    JavaScriptを使えば、ボタンをクリックするたびに表示されるテキストを切り替える(トグルする)処理を簡単に実装できます。ここでは、innerHTMLプロパティと条件分岐を組み合わせた、最も基本的なテキスト切り替えの方法をサンプルコード付きで解説します。実装コード例<!DOCTYPE html> <html> <head> <meta name="viewport" content="width=device-width, initial-scale=1" /> <style>  

  2. JavaScriptで文字列を改行する方法

    JavaScriptで文字列に改行を挿入するには? JavaScriptで文字列を改行して表示したい場合は、HTMLの <br> タグを使用します。文字列同士を + 演算子で連結し、その間に <br> を挟むことで、ブラウザ上で改行された状態で表示されます。 サンプルコード 以下は、innerHTML プロパティと <br> タグを組み合わせて、見出し内のテキストを2行に分けて表示するコード例です。 <!DOCTYPE html> <html lang="ja"> <head> <meta