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 在未准备好时打开了某些内容。

对于头部,使用这个:

<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 回答