0

モーダルウィンドウをポップアップするために 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 動画の再生が終了すると、newstate として 0 が返されます。

以下を試してみましたが、うまくいきません。助言がありますか?

    function onYouTubePlayerReady(playerId) {
        $ytplayer = document.getElementById("myytplayer");
        $ytplayer.addEventListener("onStateChange", "onytplayerStateChange");
    }

    function onytplayerStateChange(newState) {
        if(newstate === 0) {
            $("#form-box").modal(); 
        }
    }
4

1 に答える 1

1
  1. $("form-box").modal();する必要があります$("#form-box").modal();
  2. 確実newStateに数字ですか?==そうでない場合は、代わりに使用することをお勧めします===
  3. ページ内の他の未使用の jQuery プラグインを削除します。それらは競合を引き起こしている可能性があります。
于 2012-04-06T18:14:27.360 に答える