我試圖將Dmitry Semenov的PhotoSwipe(link)與他的Magnific Popup(link)的Ajax Type
結合起來。更具體地說,我在我的index.html
文件上有一個鏈接。單擊時,會顯示Ajax Type
Magnific Popup,其中顯示other.html
的內容。在此Popup內(即在other.html
文件中)是PhotoSwipe圖像庫。當我點擊圖像時,PhotoSwipe圖庫按預期顯示,並且工作正常。但是,當我單擊關閉按鈕('x'圖標)或按ESC鍵時,PhotoSwipe和Magnific Popup都會關閉。我如何改變這種行爲,以便只關閉PhotoSwipe彈出窗口?有沒有辦法在顯示PhotoSwipe彈出窗口時「禁用」Magnific Popup,以便Magnific Popup不響應任何點擊或按下按鍵直到PhotoSwipe關閉?結合PhotoSwipe與Magnific Popup(Ajax類型)
我只有JavaScript的基礎知識,所以我真的很感激「答案」的答案。
謝謝,這確實有效!但是,這導致我發現另一個問題:Magnific在PhotoSwipe彈出窗口的右上角添加了「關閉」按鈕,使我無法點擊屬於PhotoSwipe的關閉按鈕。這讓我想問:只要啓動PhotoSwipe,是否有辦法禁用所有的Magnific功能? – Alarik
您應該可以通過Magnific中的closeBtnInside選項(不確定PhotoSwipe中是否有類似內容),或者通過調整'.button.mfp-close'的CSS來調整「x」的位置。另一個選項,如果它適用於您的情況,可以在打開PhotoSwipe時關閉Magnific彈出框,然後在調用PhotoSwipe關閉事件時重新打開它。有人在這個小提琴中做了這個,除了兩個Magnific實例:https://jsfiddle.net/matthieuG/zt4coq8f/1/ –
我試圖通過添加'$('。mfp-close')來消除「x」。 .css('visibility','hidden');'發起啓動PhotoSwipe的腳本。這會去除PhotoSwipe上的「x」和Magnific上的「x」。我想在PhotoSwipe關閉時將「visibility」設置爲「visible」,但我無法使其工作。爲什麼不添加'var el = document.getElementsByClassName('mfp-close'); \t \t el.style.visibility =「visible」;'close函數有效嗎?有沒有辦法這樣做? – Alarik