Fancybox只加载一次

时间:2015-10-19 12:58:13

标签: jquery wordpress

目前我正在开发一个wordpress项目,为了实现弹出窗口,我正在使用花哨的盒子wordpress插件。

它正在工作,但只有一次。当我再次点击它将整个页面加载到弹出窗口而不仅仅是div。

在控制台中我看到了一条消息并在此猜测它可能是问题但仍然没有解决方案。这是我得到的控制台消息"主线程上的同步xmlhttprequest已被弃用" ......

可能是什么原因?

要在现场查看,请访问以下网站:

http://thejobupdates.com/pt/visbeennew/#serviceCntr

并点击显示klik继承人的按钮

代码:

HTML:

锚标记:

<a href="#mapModal" class="lMap"><img src="<?php echo get_template_directory_uri(); ?>/images/arrow3.png" />Klik hier</a>

目标div:

<div style="display:none;">
    <div id="mapModal">
        <div class="mapModalTitle">
            <h3>SERVING EUROPE <br /><span>DAILY COOL, FRESH & FROZEN</span></h3>
        </div>
        <?php build_i_world_map(1); ?>        
    </div>
</div>

的jQuery

jQuery(".lMap").fancybox({
    'titlePosition'     : 'inside',
    'transitionIn'      : 'none',
    'transitionOut'     : 'none',
    onCleanup: function() {
      var myContent = this.href;
      $(myContent).unwrap();
      console.log("Element was clean");
    }
});

1 个答案:

答案 0 :(得分:1)

更新

您正在使用fancybox的1.3.4版。这对我来说似乎都是个错误。 尝试将fancybox更新到版本2.x - &gt; http://fancyapps.com/fancybox/

Original anwser

  • 这并没有解决问题,请参阅评论。

这是因为你的onCleanup功能:

onCleanup: function() {
  var myContent = this.href;
  $(myContent).unwrap(); <--- // this removes the modal.
  console.log("Element was clean");
}

关闭模态时,会调用onCleanup。 它会获取您的<div id="mapModal">并将其删除。 我不知道为什么你需要在那里,但是,删除它,一切都应该工作。

如果你在第一次打开模态之前和之后将其放入控制台,你可以看到该元素不存在。

jQuery("#mapModal")

首先它将返回div,第二次它没有找到任何东西。 更多关于unwarp https://api.jquery.com/unwrap/