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

时间:2014-02-21 07:37:21

标签: javascript jquery popup magnific-popup

我想在调用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函数时打开此弹出窗口。

这是onclick按钮打开弹出窗口的工作小提琴:

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

4 个答案:

答案 0 :(得分:4)

使用open()函数

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

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

答案 1 :(得分:2)

您必须在函数中传递单击按钮的类名:

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

答案 2 :(得分:0)

magnificPopup is not a function错误。 请在标题部分中添加任何自定义js文件。

答案 3 :(得分: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();
                });

    }