0

timesheets.jsSMIL プレゼンテーションを作成するために使用しています。

JavaScript コンソールでは、次のように表示されます。

<div id="slide3" class="transition" smil="active">
    <video id="foo" source type="video/mp4" src="foo.mp4">
</div>

パラメータ:smil="active"は または のいずれactivedoneです。

foo.mp4いつか遊びたいsmil="active"

私はこれを追加しました:

<script>
    $(document).ready(function () {
        $('#foo').prop('autoplay', true);
    });
</script>

ただし、ページが読み込まれたときにビデオが再生されるためsmil="active"、ビデオが終了したときに再生されます。

どうすればこれを修正できますか?

編集:

これは、state = "active" を起動する js です。

var state = "";
  this.isActive = function() { return (state == "active"); };
  this.show  = function() {
    if (state == "active") return;
    state = "active";
    if (0) try {
      consoleLog(domNode.nodeName + "#" + domNode.id + " -- show()");
    } catch(e) {}
    self.setTargetState(state);
    self.dispatchEvent("begin");
    self.addEventListener(endEvents, onendListener);
    self.removeEventListener(beginEvents, onbeginListener);
    //if (self.parentNode.timeContainer == "excl") consoleLog("show");
  };
4

1 に答える 1

1

再生する前に、属性がアクティブに等しいかどうかを確認します。

$(document).ready(function () {
  if($('#slide3').attr('smil') == 'active') {
     $('#foo').prop('autoplay', true);
  }
  else {
     $('#foo').prop('autoplay', false);
  }
});
于 2013-05-14T12:37:22.973 に答える