用于访问同一弹出窗口的多个数据对话框问题

时间:2014-12-19 21:19:47

标签: jquery angularjs

我想通过两个不同的链接打开一个相同的弹出窗口,我在这个网站上集成了一个非常酷的弹出窗口http://tympanus.net/Development/DialogEffects当我使用data-dialog =&#34时,它的工作正常;签式"只有一次超链接。但是当我按照以下示例使用它两次时,弹出窗口不会显示出来。

<a href="#" data-dialog="signup">WATCH DEMO</a>
<a href="#" data-dialog="signup">FREE TRIAL</a>

请指导我如何通过多个超链接打开相同的弹出窗口。

以下是代码:

(function() {
    var dlgtrigger = document.querySelector( '[data-dialog]' ),
    signup = document.getElementById( dlgtrigger.getAttribute( 'data-dialog' ) ),
    dlg = new DialogFx( signup );
    dlgtrigger.addEventListener( 'click', dlg.toggle.bind(dlg) );
    })();

<div id="signup" class="dialog">
    <div class="dialog__overlay"></div>
    <div class="dialog__content signup_popup">
         <p>content goes here...</p>
    </div>
</div>

1 个答案:

答案 0 :(得分:0)

您需要两次注册该功能:

$('[data-dialog-overlay]').each(function() 
{
    var dlgtrigger = this;
    somedialog = document.getElementById( dlgtrigger.getAttribute( 'data-dialog-overlay' ) ); 
    dlg = new DialogFx(somedialog); 

    dlgtrigger.addEventListener( 'click', dlg.toggle.bind(dlg) );
});