我正在使用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将作为新闻状态返回。
我尝试了以下方法,但无法使其发挥作用。有什么建议吗?
function onYouTubePlayerReady(playerId) {
$ytplayer = document.getElementById("myytplayer");
$ytplayer.addEventListener("onStateChange", "onytplayerStateChange");
}
function onytplayerStateChange(newState) {
if(newstate === 0) {
$("#form-box").modal();
}
}
$("form-box").modal();
应为$("#form-box").modal();
- 你确定
newState
是一个数字吗?如果没有,您可能希望使用==
而不是===
- 删除页面中其他未使用的jQuery插件。他们可能会引发冲突