2017-11-03 11 views
0

私はファンシーボックスを閉じるようにしようとしていますが、閉じるボタンで閉じることができます。私はfancyBox3のドキュメントを見ているが、まだ考えていない。ファンシーボックスのデフォルト設定では、マウスのクリックが外に閉じたり、マウスのタッチが閉じたりするのを防ぐことができます。タッチ設定をfalseに設定したり、スワイプしたり、オーバーレイ領域をクリックしたりすると、モバイルビューで問題が発生します。ファンシーボックス3 - moblieビューのスワイプアップやオーバーレイエリアのクローズを防ぐ

私は、ファンシーボックスを表示するためのサンプルスクリプトを用意しています。

HTML

<div id="fancybox" style="display:none;"> 
    <img src="https://farm6.staticflickr.com/5519/9432166677_61aa7e7f90_m_d.jpg"> 
</div> 

JS

$(document).ready(function() { 
    $.fancybox.open({ 
    src: "#fancybox", 
    type: "inline", 
    clickSlide : 'false', 
    clickOutside : 'false', 
    touch: false    
    }); 
}); 

JSFIDDLE

は間近モバイルスワイプを防止するための任意のアイデア?ありがとう!

+0

あなたは「モバイルドラッグアップ」により、正確に何を意味するのですか?上向きのスワイプの動きなどを実際に意味しますか? – CBroe

+0

@CBroeはい、モバイルを使用してjsfiddleリンクを表示し、オーバーレイ領域をスワイプしようとすると、fancyboxは「touch」オプションをfalseに設定しても閉じます。 – jkythc

+0

'touch'オプションは、スワイプだけで前/次の項目にナビゲートできるかどうかを制御するように見えますが、終了動作には影響しません。私はあなたが試みることができ、イベントをキャッチして、原因をスワイプし、 'beforeClose'ハンドラfancyboxでキャンセルすることができると思います。その情報の中に、それを引き起こすイベントが利用可能であるかどうかは確かですが、そうでない場合は、独自のイベントハンドラを使用してそれを捕捉し、beforeCloseで確認できるフラグなどを設定する必要があります。おそらくタイマーに基づいてその旗を再設定する必要があります... – CBroe

答えて

0

これを試してください。 touch: falseの代わりに"touch":falseを付けてください。

$(document).ready(function() { 
 
    $.fancybox.open({ 
 
    src: "#fancybox", 
 
    type: "inline", 
 
    clickSlide : 'false', 
 
    clickOutside : 'false', 
 
    "touch":false \t 
 
    }); 
 
});
<link href="https://cdnjs.cloudflare.com/ajax/libs/fancybox/3.1.25/jquery.fancybox.min.css" rel="stylesheet"/> 
 

 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<script src="https://cdnjs.cloudflare.com/ajax/libs/fancybox/3.1.25/jquery.fancybox.min.js"></script> 
 

 
<div id="fancybox" style="display:none;"> 
 
    <img src="https://farm6.staticflickr.com/5519/9432166677_61aa7e7f90_m_d.jpg"> 
 
</div>

+0

動作していないようです:https://jsfiddle.net/ag7nqc6f/ – jkythc

+0

ポップアップをドラッグすると動作しません。 –

+0

多分私の質問は明確ではない、私はオーバーレイの黒い領域をスワイプして、それはまだポップアップを閉じている。 – jkythc

0

これは、垂直ドラッグを無効にする方法です。

$('[data-fancybox="images"]').fancybox({ 
    touch: { 
    vertical: false 
    } 
}); 

がデモ - https://codepen.io/anon/pen/bYEQmM

+0

は動作しないようです:https://jsfiddle.net/gwtpc4og/ – jkythc

+0

それは長い話ですが、ここではそれを動作させる方法である - https://jsfiddle.net/0Lg41w6s/ – Janis

+0

ところで、私が最初にを更新しましたデモ、これはv3.2で動作します。 – Janis

関連する問題