私はDmitry SemenovのPhotoSwipe(link)とMagnificent Popup(link)のAjax Type
を組み合わせようとしています。具体的には、index.html
ファイルにリンクがあります。クリックするとAjax Type
Magnificent Popupが表示され、other.html
の内容が表示されます。このポップアップ内(つまりother.html
ファイル内)にはPhotoSwipeギャラリーがあります。画像をクリックすると、PhotoSwipeギャラリーが予想どおりに表示され、正常に動作します。ただし、閉じるボタン(「x」アイコン)をクリックするかESCキーを押すと、PhotoSwipeとMagnifica Popupの両方が閉じられます。 PhotoSwipeポップアップだけが閉じられるようにこの動作を変更するにはどうすればよいですか? PhotoSwipeポップアップが表示されている間にマグニシックポップアップを「無効にする」方法がありますので、マグニフィックポップアップは、PhotoSwipeが閉じられるまで、クリックやキーの押下に反応しません。PhotoSwipeとMagnificent Popup(Ajaxタイプ)を組み合わせる
私はJavaScriptの非常に基本的な知識しか持っていないので、私は本当に答えを手に持つアプローチに感謝します。
ありがとう、これは実際に動作します!しかし、これで別の問題が発見されました。MagnificはPhotoSwipeポップアップの右上隅に「閉じる」ボタンを追加し、PhotoSwipeに属するクローズボタンをクリックできないようにしました。これは私に尋ねます:PhotoSwipeが開始されている限りMagnificoの機能をすべて無効にする方法はありますか? – Alarik
MagnificのcloseBtnInsideオプション(PhotoSwipeに似たものがあるかどうか不明)、または '.button.mfp-close'のCSSを調整することで、" x "の配置を調整できるはずです。あなたのケースで動作する別のオプションは、PhotoSwipeを開いたときにMagnificicポップアップを閉じてから、PhotoSwipe closeイベントが呼び出されたときに再び開くことができます。誰かがこのフィドルで、マグニフィックの2つのインスタンスを除いてそれをしました:https://jsfiddle.net/matthieuG/zt4coq8f/1/ –
私は '$( '。mfp-close')を加えて" x " .css( 'visibility'、 'hidden'); 'PhotoSwipeを起動するスクリプト。これにより、PhotoSwipeの「x」とMagnificentの「x」の両方が削除されます。 PhotoSwipeが終了したときに 'visibility'を' visible'に戻したいのですが、動作させることができません。なぜ、var el = document.getElementsByClassName( 'mfp-close')を追加しないのですか? \t \t el.style.visibility = "visible"; '' close'関数の動作には?このようにする方法はありますか? – Alarik