如何使用ShadowBox在页面加载时打开内联div?

时间:2012-06-01 07:48:15

标签: jquery shadowbox

我想在页面加载时打开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>

1 个答案:

答案 0 :(得分: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 here上的源页面。

编辑:如果您想在页面加载后访问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属性)。