2

ajax 加载数据后,Shadowbox 无法工作。我试图将 Shadowbox.init() 放入 ajax 加载函数以及 php 页面中。没有任何效果。Shadowbox 在 ajax 加载数据之前工作正常。

    $.ajax({
                type:"post",
                url: url1,
                data: {offset:offset},
                dataType: "html",
                timeout: 10000,
                success:function(data) {
                Shadowbox.init();
                    if(data == 0){
                            $("#nodeal").show();
                            $(".more_deals").hide();
                            $("#nomore").val(1);
                            $('#loadimage').hide();
                        }else {
                            Shadowbox.init();
                            $("#nodeal").hide();
                            $(".more_deals").hide();
                            $('.loadmoredeals').append(data); 
                            $('#loadimage').hide();
                        }
                },
                error:function(request, status, err) {
                    if(status == "timeout") {
                        gotoagain(offset);
                    }

                }
            }); 

html 结果的 PHP 页面:(firefox 可以使用此代码,chrome 和 IE 不能使用此代码)

$html = "<script src='/static/js/shadowbox-3.0.3/shadowbox.js'></script>    
            <script>
                Shadowbox.init();
            </script>";

运行 shadowbox javascript 会导致错误吗?我如何使影子盒工作?

4

2 回答 2

2

利用

Shadowbox.init({ skipSetup: true }); Shadowbox.setup(); 

而不是 Shadowbox.init();

于 2014-09-17T08:47:16.840 回答
1

已经可以了。

来自http://shadowbox.1309102.n2.nabble.com/Documents-loaded-through-ajax-shadowbox-not-working-td1309124.html 的解决方案

我们只能调用 Shadowbox.init(); 1次。因此,当我调用 Shadowbox.init(); 时发生错误;在ajax加载中。

于 2013-07-31T02:36:43.240 回答