2014-06-28 46 views
0


在的fancybox我是开2个模态插件,需要密切2和1 ...关闭2模式和开放1再次

例:关闭2模式,再开1种模式... http://jsfiddle.net/g3R75/1/

IM使用这一点,但不工作:

afterClose: function() { 

    $("a#button2").fancybox({ 
    'closeBtn' : false, 
    'hideOnContentClick': true, 
    'padding' : 0, 
    'fitToView' : false, 
    'helpers' : { overlay : { css : { 'background' : 'rgba(0, 0, 0, 0.55)' } }, buttons : {} } 
    }).trigger('click'); 
} 

回答

0

首先,你可能只通过增加一个共同的选择既林需要两种模式盒一个脚本堪萨斯州的一个外部和内部的fancybox(隐藏的内容)的一个如此:

<a class="fancybox" id="button2" href="#parceiros"><div id="botao2" class="preto">PARCEIROS</div></a> 

<div style="display:none"> 
    <div id="parceiros"> 
     <a class="fancybox" id="fancybox-button3" href="#parcas">Teste</a> 
    </div> 
</div> 

注意我加入了fancybox到两个锚和保持他们当前的ID。然后使用他们

$(".fancybox").fancybox({ 
    closeBtn: false, 
    // hideOnContentClick: true, // this one is for v1.3.x 
    closeClick: true, 
    padding: 0, 
    fitToView: false, 
    helpers: { 
     overlay: { 
      css: { 
       background: "rgba(0, 0, 0, 0.55)" 
      } 
     }, 
     buttons: {} 
    } 
}); 

现在,如果你总是希望关闭第二后打开第一模式既结合的fancybox,你可以使用触发click到第一链接afterClose回调像内的ID

afterClose: function() { 
    if (this.element.attr("id") == "fancybox-button3") { 
     $("#button2").click(); 
    } 
} 

注意,我们必须确认我们是否在关闭一个实际上是决定如果我们想要结束后再次打开第一个前的第二个链接。


重要!!!!!

有一个错误当你从在线内容的另一个的fancybox,我记录here

作为一种变通方法中打开的fancybox可以延迟click事件让烧制前收拾妥当的fancybox它又像:

afterClose: function() { 
    if (this.element.attr("id") == "fancybox-button3") { 
     setTimeout(function() { 
      $("#button2").click(); 
     }, 200); 
    } 
} 

JSFIDDLE

相关问题