2017-04-19 4 views
0

ここに例があります:​​
[共有]ボタンをクリックすると画像がぼやけて見えます。photoswipeは、共有ボタンをクリックすると、画像をぼかしてどのようにスタイルを適用しますか?

私は検査官でこれを観察しており、わかりません。

私は、ソースコードをダウンロードして、それが、この最後の行にphotoswipe-ui-defaults.jsに時計を設定します。

_openWindowPopup = function(e) { 
     e = e || window.event; 
     var target = e.target || e.srcElement; 

     pswp.shout('shareLinkClick', e, target); 

それが実行されることは決してありません。

私は他の同様のモーダルを追加しましたが、私は同じ効果を達成したいと思いますが、そのぼかしを達成するために何が行われているのか分かりません。

答えて

1

これは部分的に複雑に見えますが、最初の外観では明らかではありません。そこ

この CSS

共有モーダルで.pswp_share-modalをレンダリングし、すべての時間:あなたはJS .pswp__share-modal--fade-inクラスのどこかに「共有」ボタンをクリックすると

.pswp_share-modal { 
    display: block; 
    background: rgba(0,0,0,0.5); 
    width: 100%; 
    height: 100%; 
    top: 0; 
    left: 0; 
    padding: 10px; 
    position: absolute; 
    z-index: 1600; 
    opacity: 0; 
    -webkit-transition: opacity .25s ease-out; 
    transition: opacity .25s ease-out; 
    -webkit-backface-visibility: hidden; 
    will-change: opacity; 
} 

同じ要素を持つにアタッチこのcss

効果フェードインとモーダル:

.pswp__share-modal--fade-in { 
    opacity: 1 
} 

あなたは一般的な考え方は共有モーダルがアクティブなときに100%に不透明度を変えることです見ることができるように。実際のモーダルバックグラウンドが原因でぼかし効果があるrgba(0,0,0,0.5);

+0

ああ、私は、共有モーダルが実際に画面全体に伸びている参照してください。私はそれがモーダルダイアログの部分だけになると思った。 –

+0

@MarkoAvlijašうん、それは伸びている –

1

余分なdivを追加してフルスクリーンにしてから、divにバックグラウンドを追加するだけです。私はここに例がある(それは醜いように見えるが、私が言うことを捉えるだろう)。

$(document).ready(function() { 
 

 
    $('#modal-btn').click(function(){ 
 
    $('.modal').css("display","block"); 
 
    }); 
 

 
    $('.modal').click(function(){ 
 
    $(this).css("display","none"); 
 
    }); 
 

 
});
html, body { 
 
    background-color: #000; 
 
    color: #fff; 
 
    height: 100%; 
 
    width: 100%; 
 
    z-index: 1; 
 
} 
 
    
 
.modal { 
 
    background-color: #000; 
 
    background-color: rgba(0, 0, 0, 0.5); 
 
    display: none; 
 
    height: 100vh; 
 
    position: absolute; 
 
    top: 0; 
 
    left: 0; 
 
    width: 100vw; 
 
    z-index: 2; 
 
} 
 
    
 
.modal-content { 
 
    background-color: #aaa; 
 
    height: 50%; 
 
    margin: 10px auto; 
 
    text-align: center; 
 
    width: 50%; 
 
    z-index: 3; 
 
}
<html> 
 
<head></head> 
 
<body> 
 
    <!-- Page content --> 
 
    <div> 
 
    The content that goes in the background. 
 
    <button id="modal-btn" class="btn">Open Modal</button> 
 
    </div> 
 
    
 
    <!-- Modal --> 
 
    <div class="modal"> 
 
    <div class="modal-content">The Modal Content</div> 
 
    </div> 
 

 
    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script> 
 
</body> 
 
</html>

関連する問題