0

リンク/画像をクリックして、埋め込みオブジェクトをループさせる方法、または現在の再生後にループしないようにする方法を見つけようとしています。ページを変更しないために必要なので、現在の曲は再生され続けます。

これまで、JavascriptGetElementByNameを使用してloop= true / falseを設定しようとしましたが、現在、デフォルトはtrueに設定されています。

 <a href="javascript:void(0)" title="To be implimented"><IMG ID=mode SRC=repeat.gif HEIGHT=22 onclick="PlayerMode()">
<script type="text/javascript">

var L=0;
function PlayerMode()
  {
  if(L==0){
  document.getElementById("playmode").loop="true"
  document.getElementById("mode").src="repeat.gif";
  L++;
  }

  else{
  document.getElementById("playmode").loop="false"
  document.getElementById("mode").src="repeatoff.gif";
  L--;
  }}
</script>
4

1 に答える 1

0

リンクで JavaScript をトリガーするが、後でページを変更したくない場合は、onclickコードが を返すことを確認してくださいfalse。また、単純な「#」をリンクとして使用すると、href(何らかの理由で) JavaScript が無効になっている場合やサポートされていない場合に、望ましくない影響やエラー メッセージを回避できます。

<a href="#" onclick="PlayerMode(); return false;">...</a>

別の方法として、コードを保持し、最後に関数を呼び出すこともできますreturn false;(最後の抜粋も参照してください)。

<a href="#" onclick="PlayerMode();">...</a>

さらに最適化するには、次のコードを使用します (グローバル変数を使用する必要がありません)。

function toggleLoop() {
    var player = document.getElementById('playmode');
    document.getElementById('mode').src = (player.loop = !player.loop) ? 'repeat.gif' : 'repeatoff.gif';
    return false;
}

現在のコードでは、プレーヤーのループを既に考慮しLた初期値が必要であることに注意してください。1それ以外の場合は、最初のクリックで基本的にループを有効にします (何も変更されません)。

于 2012-06-21T09:18:17.467 に答える