从另一个函数中打开弹出窗口 - Magnific Popup

4
当ajaxCall函数被调用时,我希望打开我的弹出窗口。
就像这样:
function ajaxCall()
{

 openPopup();

}

function openPopup()
{

$('.popup-modal').magnificPopup({

type: 'inline',
modal: false,

});

$(document).on('click', '.closePopup', function (e) 
            {
                e.preventDefault();
                $.magnificPopup.close();
            });

}

这是一个演示:http://jsfiddle.net/qweWa/33/

当调用ajaxCall函数时,我希望这个弹出窗口能够打开。

这里有一个实现点击按钮打开弹出窗口的演示:

http://jsfiddle.net/qweWa/27/


$.magnificPopup不是一个函数 --> 错误!请纠正 - Dimag Kharab
请现在检查我的帖子。我已经添加了一个可在单击按钮时工作的 fiddle。 - Hassan Sardar
你的 AJAX 函数呢? - Jai
这里不需要ajax函数。我只想在调用ajaxCall函数时打开这个弹出窗口。 - Hassan Sardar
4个回答

7

使用open()函数

function openPopup(el) { // get the class name in arguments here
            $.magnificPopup.open({
                items: {
                    src: '#thanksModal',
                },
                type: 'inline'
            });
}

JSFiddle : http://jsfiddle.net/t5f5e5zw/2/


3
你需要在函数中传递被点击按钮的类名:
function openPopup(el) { // get the class name in arguments here
   $('.'+el).magnificPopup({ // use it here
      type: 'inline',
      modal: false
   });
}

$(function () {
   $('.ajax-call').click(function (e) {
      openPopup(this.className); //<----pass the clicked button's class name
   });
   $(document).on('click', '.closePopup', function (e) {
      e.preventDefault();
      $.magnificPopup.close();
   });
});

Demo Fiddle


0

试试这个

function openPopup()
        {

            $('.ajax-call').magnificPopup({

            type: 'inline',
            modal: true,

        });

        /*$.magnificPopup({



 type: 'inline',
        modal: false,

    });*/

    $(document).on('click', '.closePopup', function (e) 
                {
                    e.preventDefault();
                    $.magnificPopup.close();
                });

    }

我不想将它绑定在按钮上。应该有一个通用函数。 - Hassan Sardar

0

magnificPopup不是一个函数错误。请在头部区域包含任何自定义JS文件。


请现在检查我的帖子。我添加了一个可以在onclick按钮上工作的fiddle。 - Hassan Sardar
是的,现在它正在工作,但是在调用ajaxCall()时您遇到了什么错误? - Java_User
我不想在按钮单击时绑定它。我希望每当调用ajaxCall()时,这个弹出窗口都会打开。这是我尝试做的jsfiddle链接:http://jsfiddle.net/qweWa/33/,但它没有打开我的弹出窗口。 - Hassan Sardar

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接