2016-11-08 13 views
0

クリックごとにミュート/ミュート解除ボタンを作成しようとしていますが、ミュート/ミュート解除するたびにミュートしますが、音楽をミュートしません。 0に変更すると、何が問題なのかわかりません。ここでJavaScriptを使って音楽をミュート/ミュート解除する

<script> 
 
function getCookie(cname) { 
 
    var name = cname + "="; 
 
    var ca = document.cookie.split(';'); 
 
    for(var i = 0; i <ca.length; i++) { 
 
     var c = ca[i]; 
 
     while (c.charAt(0)==' ') { 
 
      c = c.substring(1); 
 
     } 
 
     if (c.indexOf(name) == 0) { 
 
      return c.substring(name.length,c.length); 
 
     } 
 
    } 
 
    return ""; 
 
} 
 
</script> 
 
<center><ul class="navbar"> 
 
\t <li class="navbar"><a href="#" onclick="homeHome()" >Home</a></li> 
 
\t <li class="navbar"><a href="/forum/index.php" onclick="homeForum()">Forum</a></li> 
 
\t <li class="navbar"><span style="cursor:pointer"><a onclick="getStatusOnBlog()">Blog</a></span></li> 
 
\t <li class="navbar"><a href="#claninfo" onclick="scrollToClanInfo()">Clan Information</a></li> 
 
\t <li class="navbar" id="colorofmute"><a href="#music" onclick="muted()">Music</a></li> 
 
</ul></center> 
 
<script> 
 
function muted() { 
 
\t var mutemusic = getCookie("setMusic"); 
 
\t console.log(mutemusic); 
 
\t if (mutemusic = "0") { 
 
\t \t x.pause(); 
 
\t \t document.cookie = "setMusic=; expires=Thu, 01 Jan 1970 00:00:01 GMT; path=/"; 
 
\t \t document.cookie = "setMusic=1; expires=Friday, Dec 9999 12:00:00 UTC; path=/"; 
 
\t \t checkIfMuted(); 
 
\t } else { 
 
\t \t x.play(); 
 
\t \t document.cookie = "setMusic=; expires=Thu, 01 Jan 1970 00:00:01 GMT; path=/"; 
 
\t \t document.cookie = "setMusic=0; expires=Friday, Dec 9999 12:00:00 UTC; path=/"; 
 
\t \t checkIfMuted(); 
 
\t }; 
 
} 
 

 
function checkIfMuted() { 
 
\t var mutemusic = getCookie("setMusic"); 
 
\t if (mutemusic == "1") { 
 
\t \t x.pause(); 
 
\t \t document.getElementById("colorofmute").style.background = "red"; 
 
\t }; 
 
\t if (mutemusic == "0") { 
 
\t \t x.play(); 
 
\t \t backgroundAudio('0.4'); 
 
\t \t document.getElementById("colorofmute").style.background = "white"; 
 
\t }; 
 
}; 
 
checkIfMuted(); 
 
</script>

あなたはhttps://ready4war.net/index.phpにチェックし、「ミュージック」をクリックして、問題が何であるかを私に言うことができる私のソースですが、私の周りのものを切り替えるたびに、ミュート解除、それがされるまでミュートのまま私は物事を変える。

+0

なぜ、具体的には、ミュート/ミュート解除機能にCookieを使用していますか?そして、もっと一般的に、なぜあなたは 'localStorage'ではなくクッキーを使用していますか? –

答えて

0

条件(3行目muted())の中でasssignment演算子を使用しています。よくある間違い。私はいくつかのセミコロンを削除しました。それが役に立てば幸い。

function getCookie(cname) { 
    var name = cname + "="; 
    var ca = document.cookie.split(';'); 
    for(var i = 0; i <ca.length; i++) { 
     var c = ca[i]; 
     while (c.charAt(0)==' ') { 
      c = c.substring(1); 
     } 
     if (c.indexOf(name) === 0) { 
      return c.substring(name.length,c.length); 
     } 
    } 
    return ""; 
} 

function muted() { 
    var mutemusic = getCookie("setMusic"); 
    console.log(mutemusic); 
    if (mutemusic == "0") { 
     x.pause(); 
     document.cookie = "setMusic=; expires=Thu, 01 Jan 1970 00:00:01 GMT; path=/"; 
     document.cookie = "setMusic=1; expires=Friday, Dec 9999 12:00:00 UTC; path=/"; 
     checkIfMuted(); 
    } else { 
     x.play(); 
     document.cookie = "setMusic=; expires=Thu, 01 Jan 1970 00:00:01 GMT; path=/"; 
     document.cookie = "setMusic=0; expires=Friday, Dec 9999 12:00:00 UTC; path=/"; 
     checkIfMuted(); 
    } 
} 

function checkIfMuted() { 
    var mutemusic = getCookie("setMusic"); 
    if (mutemusic == "1") { 
     x.pause(); 
     document.getElementById("colorofmute").style.background = "red"; 
    } 

    if (mutemusic == "0") { 
     x.play(); 
     backgroundAudio('0.4'); 
     document.getElementById("colorofmute").style.background = "white"; 
    } 

} 

checkIfMuted(); 
関連する問題