Note that there are some explanatory texts on larger screens.

plurals
  1. POHow to avoid duplicate code where only id values change in JavaScript?
    primarykey
    data
    text
    <p>I just started learning HTML and HTML5 recently. My site involves different audio players playing different tunes/mp3s. At the moment I have created different id names for each audio player and each play/pause and stop button.</p> <p>My JavaScript file to play this has unnecessary repetitions of similar code. I guess there is a better way to do this using variables so the code is not repeated with different id names but I am not too familiar with JavaScript.</p> <p>Here's what a snippet of my JavaScript file looks like. </p> <pre><code>$(document).ready(function(){ $("#play-bt1").click(function(){ $("#audio-player1")[0].play(); $("#message").text("Music started"); }) $("#pause-bt1").click(function(){ $("#audio-player1")[0].pause(); $("#message").text("Music paused"); }) $("#stop-bt1").click(function(){ $("#audio-player1")[0].pause(); $("#audio-player1")[0].currentTime = 0; $("#message").text("Music Stopped"); }) }) $(document).ready(function(){ $("#play-bt2").click(function(){ $("#audio-player2")[0].play(); $("#message").text("Music started"); }) $("#pause-bt2").click(function(){ $("#audio-player2")[0].pause(); $("#message").text("Music paused"); }) $("#stop-bt2").click(function(){ $("#audio-player2")[0].pause(); $("#audio-player2")[0].currentTime = 0; $("#message").text("Music Stopped"); }) }) $(document).ready(function(){ $("#play-bt3").click(function(){ $("#audio-player3")[0].play(); $("#message").text("Music started"); }) $("#pause-bt3").click(function(){ $("#audio-player3")[0].pause(); $("#message").text("Music paused"); }) $("#stop-bt3").click(function(){ $("#audio-player3")[0].pause(); $("#audio-player3")[0].currentTime = 0; $("#message").text("Music Stopped"); }) }) </code></pre> <p>and here is the corresponding part of my HTML file</p> <p></p> <pre><code>&lt;div class="grid_4 alpha"&gt; &lt;div class="audiobox"&gt; &lt;audio id="audio-player" name="audio-player" src="images/electronic beat-monksee.mp3" &gt;audio&lt;/audio&gt; &lt;div class="controlsbox"&gt; &lt;a id="play-bt" &gt;&lt;div class="animated_play"&gt;&lt;/div&gt;&lt;/a&gt; &lt;a id="pause-bt" &gt;&lt;div class="animated_stop"&gt;&lt;/div&gt;&lt;/a&gt; &lt;/div&gt; &lt;/div&gt; &lt;/div&gt; &lt;div class="grid_4"&gt; &lt;div class="audiobox"&gt; &lt;audio id="audio-player1" name="audio-player" src="images/electronic beat-monksee.mp3" &gt;audio&lt;/audio&gt; &lt;div class="controlsbox"&gt; &lt;a id="play-bt1" href="#"&gt;&lt;div class="animated_play"&gt;&lt;/div&gt;&lt;/a&gt; &lt;a id="pause-bt1" href="#"&gt;&lt;div class="animated_stop"&gt;&lt;/div&gt;&lt;/a&gt; &lt;/div&gt; &lt;/div&gt; &lt;/div&gt; &lt;div class="grid_4 omega"&gt; &lt;div class="audiobox"&gt; &lt;audio id="audio-player2" name="audio-player" src="images/beatbox.mp3" &gt;audio&lt;/audio&gt; &lt;div class="controlsbox"&gt; &lt;a id="play-bt2" &gt;&lt;div class="animated_play"&gt;&lt;/div&gt;&lt;/a&gt; &lt;a id="pause-bt2" &gt;&lt;div class="animated_stop"&gt;&lt;/div&gt;&lt;/a&gt; &lt;/div&gt; &lt;/div&gt; &lt;/div&gt; &lt;div class="grid_4 alpha"&gt; &lt;div class="audiobox"&gt; &lt;audio id="audio-player3" name="audio-player" src="images/electronic beat-monksee.mp3" &gt;audio&lt;/audio&gt; &lt;div class="controlsbox"&gt; &lt;a id="play-bt3" &gt;&lt;div class="animated_play"&gt;&lt;/div&gt;&lt;/a&gt; &lt;a id="pause-bt3" &gt;&lt;div class="animated_stop"&gt;&lt;/div&gt;&lt;/a&gt; &lt;/div&gt; &lt;/div&gt; &lt;/div&gt; &lt;div class="grid_4"&gt; &lt;div class="audiobox"&gt; &lt;audio id="audio-player4" name="audio-player" src="images/electronic beat-monksee.mp3" &gt;audio&lt;/audio&gt; &lt;div class="controlsbox"&gt; &lt;a id="play-bt4" &gt;&lt;div class="animated_play"&gt;&lt;/div&gt;&lt;/a&gt; &lt;a id="pause-bt4" &gt;&lt;div class="animated_stop"&gt;&lt;/div&gt;&lt;/a&gt; &lt;/div&gt; &lt;/div&gt; &lt;/div&gt; &lt;div class="grid_4 omega"&gt; &lt;div class="audiobox"&gt; &lt;audio id="audio-player5" name="audio-player" src="images/beatbox.mp3" &gt;audio&lt;/audio&gt; &lt;div class="controlsbox"&gt; &lt;a id="play-bt5" &gt;&lt;div class="animated_play"&gt;&lt;/div&gt;&lt;/a&gt; &lt;a id="pause-bt5" &gt;&lt;div class="animated_stop"&gt;&lt;/div&gt;&lt;/a&gt; &lt;/div&gt; &lt;/div&gt; &lt;/div&gt; &lt;div class="grid_4 alpha"&gt; &lt;div class="audiobox"&gt; &lt;audio id="audio-player6" name="audio-player" src="images/electronic beat-monksee.mp3" &gt;audio&lt;/audio&gt; &lt;div class="controlsbox"&gt; &lt;a id="play-bt6" &gt;&lt;div class="animated_play"&gt;&lt;/div&gt;&lt;/a&gt; &lt;a id="pause-bt6" &gt;&lt;div class="animated_stop"&gt;&lt;/div&gt;&lt;/a&gt; &lt;/div&gt; &lt;/div&gt; &lt;/div&gt; &lt;div class="grid_4"&gt; &lt;div class="audiobox"&gt; &lt;audio id="audio-player7" name="audio-player" src="images/electronic beat-monksee.mp3" &gt;audio&lt;/audio&gt; &lt;div class="controlsbox"&gt; &lt;a id="play-bt7" &gt;&lt;div class="animated_play"&gt;&lt;/div&gt;&lt;/a&gt; &lt;a id="pause-bt7" &gt;&lt;div class="animated_stop"&gt;&lt;/div&gt;&lt;/a&gt; &lt;/div&gt; &lt;/div&gt; &lt;/div&gt; &lt;feature class="grid_4 omega"&gt; &lt;div class="audiobox"&gt; &lt;audio id="audio-player8" name="audio-player" src="images/beatbox.mp3" &gt;audio&lt;/audio&gt; &lt;div class="controlsbox"&gt; &lt;a id="play-bt8" &gt;&lt;div class="animated_play"&gt;&lt;/div&gt;&lt;/a&gt; &lt;a id="pause-bt8" &gt;&lt;div class="animated_stop"&gt;&lt;/div&gt;&lt;/a&gt; &lt;/div&gt; &lt;/div&gt; &lt;/feature&gt; </code></pre> <p></p>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload