简体   繁体   English

带有AJAX加载内容的fancyBox无法正常工作

[英]fancyBox with AJAX loaded content is not working

I'm trying to get fancyBox (FB from now on) working and can't get it. 我正在尝试使fancyBox (从现在开始使用FB)正常工作,但无法正常工作。 I'll explain below what I do. 我将在下面解释我的工作。 The first is, of course, include the FB scripts and styles as follow: 当然,第一个是包括以下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>

In my HTML code I have this: 在我的HTML代码中,我有:

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

It's empty because the content is loaded trough AJAX call made on bmain_registro_2.js as you'll see below. 它是空的,因为内容是通过bmain_registro_2.js上的AJAX调用加载的,如下所示。 Then in bmain_registro_2.js I write this: 然后在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') comes from Symfony2 and FOSJsRoutingBundle but it's working fine because I get the content I want to show on the modal. Routing.generate('datos-basicos')来自Symfony2和FOSJsRoutingBundle,但工作正常,因为我得到了要在模式上显示的内容。 The problems? 有问题吗?

  • The modal content isn't hide (see the image below) and I think should be hide by default 模态内容不是隐藏的(请参见下图),我认为默认情况下应该隐藏

在此处输入图片说明

  • When I click on Register link the console.log() code is executed but the modal never show up 当我单击“ Register链接时,会执行console.log()代码,但模式不会显示

What I'm missing here and is my code right? 我在这里缺少什么,我的代码正确吗?

您只需将'fancybox'类添加到链接,如下所示: <a href="#" class="fancybox" >Register</a>问候。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM