【问题标题】:Shadowbox timing issue影子盒计时问题
【发布时间】:2010-02-19 11:31:43
【问题描述】:

我正在使用 shadowbox js 在灯箱样式弹出窗口中显示 Flash 视频。

到目前为止它正在工作,但我遇到了这个问题:

当页面加载并且用户过早点击应该打开链接的图像时 shadowbox 直接加载 swf(并且没有弹出窗口出现)。 此外,在这种情况下,脚本似乎停止了,并且从不分配右键单击侦听器 - 因此在随后的点击中也永远不会显示阴影框。

影盒 3.0.1

有人遇到过同样的问题,有解决办法吗? 谢谢。

【问题讨论】:

    标签: javascript shadowbox


    【解决方案1】:

    您没有发布任何关于何时首次调用 shadowbox 的信息。

    如果我的猜测是正确的,您正在 onload 事件处理程序中运行 shadowbox。 尝试在 DOM 准备好时调用它。

    jQuery:

    $(document).ready(function(){
    //call it here
    });
    

    [编辑] 回应您的评论。

    如果这没有帮助,那么只有一种解决方案。

    在head中加载jquery脚本的行之后添加这个

    <script>
    $('<div></div>')
        .css({width:'100%',height:'100%',
    'position':'fixed','top':'0px',left:'0px',
    'z-index':'10000'})
    .addClass('cover');
    .prependTo('body');
    </script>
    

    上面应该是一行,但后来被stackoverflow的CSS剪掉了;)

    然后是 $('.cover').remove();当您确定所有内容都已加载时。

    我在页面加载时运行大量代码时会这样做;)

    【讨论】:

    • 感谢您的回答。但我确实已经尝试过这种方法:同样的问题。我的网站有一些外部脚本(谷歌分析等)会推迟页面的完整加载。我想这与它有关。但实际上我也可以在shadowbox主页上重现该问题:shadowbox-js.com/index.html(尝试加载页面并在加载后非常快地单击一个框)
    • 谢谢。尽管您的确切解决方案对我不起作用(只是没有添加任何内容),但我使用了它的修改版本:我刚刚在 shadowbox div 之前添加了这个 div:
      删除方法与您的答案相同。透明图像为我解决了 IE 似乎忽略了透明 div 并且链接仍然可点击的问题。谢谢!
    • 没有添加,因为body标签还不存在。抱歉,我的错 ;) 如果您将我的解决方案放在 body 标签内,它应该可以工作。
    猜你喜欢
    • 2012-03-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-28
    • 1970-01-01
    • 1970-01-01
    • 2013-06-10
    • 1970-01-01
    相关资源
    最近更新 更多