我正在使用 simplemodal 来弹出一个模态窗口。我已经测试了模态窗口的功能,一切正常。
我有一个隐藏的 div 元素:
<div id="form-box" class="form-box" style="display:none;">
<div class="form-crop">
<script type="text/javascript" src="https://releasetechnique.infusionsoft.com/app/form/iframe/84f82828ea34c2a633bbe0a87560586c"></script>
</div>
</div>
如果我用计时器测试它,这会很好地弹出。
<script type="text/javascript">
$(function() {
setInterval(update, 1000);
});
function update() {
$("#form-box").modal();
}
</script>
现在我要做的是从 Youtube 的 API 中获取信息,我已经成功地用以下方法进行了测试:
function onYouTubePlayerReady(playerId) {
$ytplayer = document.getElementById("myytplayer");
$ytplayer.addEventListener("onStateChange", "onytplayerStateChange");
}
function onytplayerStateChange(newState) {
alert("Player's new state: " + newState);
}
这按预期工作。它返回当前播放器状态,并且任何时候播放器状态发生更改,警报都会通知我。
现在,我要做的是弹出模式窗口,当播放器状态等于 0 时。0 表示播放器已停止。所以基本上,一旦 Youtube 视频播放完毕, 0 就会作为 newstate 返回。
我尝试了以下方法,但无法正常工作。有什么建议么?
function onYouTubePlayerReady(playerId) {
$ytplayer = document.getElementById("myytplayer");
$ytplayer.addEventListener("onStateChange", "onytplayerStateChange");
}
function onytplayerStateChange(newState) {
if(newstate === 0) {
$("#form-box").modal();
}
}