0

IE、Chrome、Firefoxで次のコードをテストしましたが、いずれのコードでも機能しません。私は同様の問題についていくつかの質問を読みましたが、それらは私の例を修正する解決策を提供していません。

JWplayerと連動する一時停止/再生ボタンを作成しようとしています(ボタンが機能するようになったら、flowplayerとも連動させたい)。現在存在する画像に応じて画像が変化します。プレーヤーを完全に停止し、一時停止/再生ボタンの画像を一時停止に変更する停止ボタンもあります。

これが私の現在のコードです:

<script type="text/javascript">
function changeimg()
{
  var obj = document.getElementById('image1');
  var imgtag1 = '<img src=\'PLAY.png\'>';
  var imgtag2 = '<img src=\'PAUSE.png\'>';
  if(obj.innerHTML == imgtag2)
  {obj.innerHTML = imgtag1;}
  else
  {obj.innerHTML = imgtag2;}
  return;
}

function playimg()
{
  document.getElementById('image1').innerHTML = '<img src=\'PLAY.png\'>';
  return;
}

</script>

<div id="image1" href="#" onclick="changeimg(); jwplayer('mediaspace1').play(); jwplayer('mediaspace2').play(); jwplayer('mediaspace3').play(); jwplayer('mediaspace4').play();"><img src='PLAY.png'></div>
<div href="#" onclick="playimg(); jwplayer('mediaspace1').stop(); jwplayer('mediaspace2').stop(); jwplayer('mediaspace3').stop(); jwplayer('mediaspace4').stop();"><img src='STOP.png'></div>

再生/一時停止機能が機能し、最初のdivが一時停止imgに変わり(JavaScriptが通過します)、2番目のdivをクリックすると再生に戻ります(停止関数-playimg()をトリガーします)が、一時停止ボタンをもう一度クリックしても、再生画像に戻りません。

セキュリティ上の理由から、ウェブサイトをリンクすることはできませんが、助けていただければ幸いです。

4

3 に答える 3

0

本当に変更したいのはIMGタグのSRCだけであり、必ずしもinnerHTML全体ではないようです。machineghostがコメントで述べているように、完全なHTMLに空白が追加されたり、その他の変更が加えられたりすると、比較が誤って表示される可能性があります。

ただし、obj.src == "PLAY.png"であるかどうかを確認し、SRC属性を直接設定することはできます。このようなもの:

function changeimg()
{
  var obj = document.getElementById('image1');
  var img1 = 'PLAY.png';
  var img2 = 'PAUSE.png';
  if(obj.src == img2)
  {obj.src = img1;}
  else
  {obj.src = img2;}
  return;
}
于 2012-06-11T17:43:18.397 に答える
0

置き換えているinnerhtmlchangeimg()は、divであるobj要素全体に影響を与えていると思います。したがって、div innerhtmlはimgtag2ではないため返されますが、次に呼び出すときはif(obj.innerHTML == imgtag2)、innerhtmlをIDを持たないHTMLコードに置き換えたため、「obj」は未定義になります。falsechangeimg(){obj.innerHTML = imgtag2;}

コンソールをチェックして、JavaScriptエラーがあるかどうかを確認します。if(obj.innerHTML == imgtag2)

rgds。

于 2012-06-11T17:43:51.557 に答える
0

存在するかどうかを確認PLAYし、それに応じてinnerHTMLを変更するだけです

function changeimg()
{
    var obj = document.getElementById('image1');
    var imgtag1 = '<img src=\'PLAY.png\'>';
    var imgtag2 = '<img src=\'PAUSE.png\'>';
    if(obj.innerHTML.indexOf('PLAY') != -1)
    {obj.innerHTML = imgtag2;}
    else
    {obj.innerHTML = imgtag1;}
    return;
}
于 2012-06-11T17:47:50.553 に答える