2016-10-21 4 views
0
近い

に消える方法:http://getbootstrap.com/javascript/#modalsブートストラップモーダル:フェードイン、しかし、すぐに3個のモーダルをブートストラップするための基準では

私はブートストラップモーダルのイン/アウト効果でデフォルトのフェードを作成するために、私の外側のモーダルのdivにclass="modal fade"を使用しています。しかし、私が本当にやりたいことは、フェードインされますが、フェードアウトしません。クローズボタンが押されたときにモーダルが直ちに完全に消えるようにしたい。

モーダルが閉じたときにCSSのトランジションを削除することはできますが、モーダルが開いたときにはそのまま維持しますか?

+0

バックグラウンド情報:私が協力しているウェブサイトは、最初のものが閉じられるとすぐに別のモーダルを開くことがあります。それがCSSのフェードアウトの遷移が発生している間に発生した場合、結果としてレイアウトの問題が発生します(Bootstrapは一度に複数のモーダルを開くことは決してないと言いますが、これは似ていると思います)。 'fade'クラスを完全に削除することでレイアウトの問題は解決されますが、デザイナーは少なくともモーダルを開いたときにフェード遷移を維持したいと思っています。 – andi

答えて

1

"shown.bs.modal"イベントのハンドラを追加し、そのハンドラでfadeクラスを削除します。

$('#myModal').on('shown.bs.modal', function (e) { 
    $('#myModal').removeClass('fade'); 
}); 

fadeクラスで定義された遷移は発生しません。

+0

うん、完璧に働いた。シンプルなソリューションをありがとう。 – andi

0

.fadeクラスを削除し、フェードインを実装する別の方法、たとえばjQueryトランジションを使用して、ブートストラップを強制的にオーバーライドしないようにすることができます。

+0

jQueryトランジションは、ブートストラップCSS/JSとの関連でここではうまくいかないと思いますが(具体的なコードがあれば間違っているとは思えますが) – andi

関連する問題