2014-02-20 258 views
5

任何人都可以告訴我如何使用彈出式窗口jquery插件(使用ajax)打開彈出窗口。如何打開彈出式窗口中的彈出式窗口的插件

$('.ajax-popup-link').magnificPopup({ 
    type: 'ajax' 
}); 
<a href="path-to-file.html" class="ajax-popup-link"> Link 1 </a> 

開啓 「路徑到file.html」

<a href="path-to-other-file.html" class="ajax-popup-link"> next popup </a> 

感謝

回答

5

你不能有兩個窗口同時打開。但彈出的內容在第二次調用時會被替換,下面是示例 - http://codepen.io/dimsemenov/pen/hwIng

+2

喜,其內嵌的內容,我想用ajax! –

+0

你會如何做到這一點無限鏈接彈出窗口動態導航帖子例如@DmitrySemenov – josethernandezc

+2

這不適用於ajax,因爲它只替換內容而不是選項等。這實際上是可能的嗎?似乎限制,如果沒有。 – Paul

1

只要您在通過ajax提取的頁面中存在下一個和上一個鏈接,就可以這樣做。

這爲我工作:

$('.js-pack').magnificPopup({ 
    delegate: '.js-mfp-ajax', 
    type: 'ajax', 
    closeOnBgClick: false, 
    mainClass: 'mfp-fade', 
    removalDelay: 300, 
    overflowY: 'scroll', 
    gallery: { 
     enabled: true 
    }, 
    callbacks: { 
     ajaxContentAdded: function() { 
      $('.prev-next .next-link').click(function(event){ event.preventDefault(); $.magnificPopup.next(); }); 
      $('.prev-next .prev-link').click(function(event){ event.preventDefault(); $.magnificPopup.prev(); }); 
     } 
    } 
}); 

他們關鍵部位增加是gallery: enabledcallbacks參數。

我的下一個上一個按鈕的HTML很簡單:

<div class="prev-next"> 
    <a class="btn prev-link" href="http://prev-url" rel="prev">« Previous</a> 
    <a class="btn next-link" href="http://next-url" rel="next">Next »</a> 
</div> 
1

您可以通過一個簡單的Ajax請求做到這一點:

$('a.your-link').on('click',function(e){ 
    e.preventDefault(); 
    $.ajax({ 
     type: "GET", // or POST 
     url: 'url_to_php_page.php', 
     data: { 
      get_request_id : $(this).data('id'), // assign a data-id to the link 
     },          
     success: function(data){ 
      $.magnificPopup.open({ 
       type: 'inline', 
       closeOnContentClick: false, 
       items: { 
        src: data 
       } 
      }) 
     } 
    }); 
}); 

然後在服務器端,您檢索get_request_id$_GET['get_request_id']$_POST['get_request_id']

2

我這知道一個古老的線程,但仍然有人感興趣,這個工作對我來說:

$(document).on('click', '.sAjax', function(e){ 

     $.magnificPopup.close(); // Close existing popup 

     // Open new popup 
     $.magnificPopup.open({ 
      items: { 
       src: 'new-page.html', 
       type: 'ajax' 
      } 
     }); 

     e.preventDefault(); 

}); 

不要忘記給你的鏈接的新類的.sAjax