带有AJAX加载内容的fancyBox无效

时间:2014-07-12 20:41:33

标签: javascript jquery fancybox fancybox-2

我试图让fancyBox(FB从现在开始)工作并且无法获得它。我将在下面解释我的所作所为。当然,第一个包括FB脚本和样式如下:

<!-- fancyBox styles -->
<link href="//cdnjs.cloudflare.com/ajax/libs/fancybox/2.1.5/jquery.fancybox.min.css" rel="stylesheet">
<link href="//cdnjs.cloudflare.com/ajax/libs/fancybox/2.1.5/helpers/jquery.fancybox-buttons.css" rel="stylesheet">
<link href="//cdnjs.cloudflare.com/ajax/libs/fancybox/2.1.5/helpers/jquery.fancybox-thumbs.css" rel="stylesheet">

<!-- fancyBox JS -->
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script src="//code.jquery.com/jquery-migrate-1.1.1.min.js"></script>
<script src="//ajax.googleapis.com/ajax/libs/jqueryui/1.10.4/jquery-ui.min.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/fancybox/2.1.5/jquery.fancybox.min.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/fancybox/2.1.5/helpers/jquery.fancybox-buttons.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/fancybox/2.1.5/helpers/jquery.fancybox-media.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/fancybox/2.1.5/helpers/jquery.fancybox-thumbs.js"></script>
<script src="/app_dev.php/js/bmain_registro_2.js" type="text/javascript"></script>

在我的HTML代码中,我有这个:

<a href="#" class="getregistered">Register</a>
<div id="register"></div>

它是空的,因为内容是通过bmain_registro_2.js上的AJAX调用加载的,正如您将在下面看到的那样。然后在bmain_registro_2.js我写这个:

var $register = $("#register");

if ($register.length) {
    $register.load(Routing.generate('datos-basicos'));
}

$("#tabs").tabs();

$('.getregistered').on("click", function() {
    console.log("click");
    $("#register").fancybox({
        openEffect: 'elastic',
        closeEffect: 'elastic',
        autoSize: false,
        closeClick: false
    });
});

Routing.generate('datos-basicos')来自Symfony2和FOSJsRoutingBundle,但它工作正常,因为我得到了我想要在模态上显示的内容。问题?

  • 模态内容不隐藏(见下图)我认为默认情况下应隐藏

enter image description here

  • 当我点击Register链接时,console.log()代码已执行,但模式从未显示

我在这里失踪的是我的代码是对的吗?

1 个答案:

答案 0 :(得分:1)

您只需将“fancybox”类添加到链接中,如下所示: <a href="#" class="fancybox" >Register</a> 此致..