4

ページの読み込み時にdivを開きたい。貼り付けたコードで、ShadowBoxライブラリにjavascriptエラーが発生します:'container is undefined'

どうすればこれを達成できますか?

$(document).ready(function () {

    Shadowbox.init({ skipSetup: true }); 
    Shadowbox.open({
        content: '#surveyDialog',
        player: 'inline',
        height: 450,
        width: 500
    });
});


<div id="surveyDialog" class="dialogWindowWrapper">
    <h2>Hello!</h2>
</div>
4

1 に答える 1

5

このエラーは、Shadowbox が準備ができていないときに何かを開いた結果です。

head セクションには、これを使用します。

<script type="text/javascript">

    Shadowbox.init({
        skipSetup: true
    });

    window.onload = function() {

        Shadowbox.open({
            content: '#surveyDialog',
            player: 'inline',
            height: 450,
            width: 500
        });

    };

</script>

本文セクションでは、これを使用します。

<div id="surveyDialog" class="dialogWindowWrapper" style="display:none">
    <h2 style="color:#ffffff;">Hello!</h2>
</div>

すぐに使用できる Shadowbox の例については、こちらの github のソース ページにアクセスしてください。

Shadowbox.open編集:ページがロードされた後にアクセスしたい場合は、ここに示す変更されたスクリプトを確認してください。

<script type="text/javascript">

    Shadowbox.init({
        skipSetup: true
    });


    function survery01(){
        Shadowbox.open({
            content: '#surveyDialog',
            player: 'inline',
            height: 450,
            width: 500
        });
    }

    window.onload = function() {

        survery01();

    };

</script>

Shadowbox.open名前付き関数になったので、必要に応じて呼び出すことができます (たとえば、属性を使用) onclick

于 2012-06-01T10:16:36.673 に答える