Bootstrap は明らかに、遷移に「hide」、「fade」、および「in」クラスを使用します。
私が抱えている問題は、「フェード」と「イン」を使用すると不透明度が 0 から 1 に変更されることです。トランジション効果は完璧ですが、ページのスペースを占有しているコンテンツがまだ残っています。見てください。たとえば、コンテナーに境界線がある場合、境界線の前に大きな空白があります。
「in」クラスを追加および削除して、既存の CSS トランジションを利用したいのですが、フェードアウトしている要素を非表示にしたいのですが、トランジションが終了した後でのみです。つまり、基本的に、モーダルで何をするかは正確ですが、どのように行うかはわかりません。
以下の私の例では、非表示を追加または削除すると、フェード効果が発生する前に、div が即座に表示または非表示になります。
HTML の例:
<div class="control-group">
<label class="control-label">Choose one:</label>
<div class="controls">
<label class="radio inline">
<input type="radio" name="color-radio" id="yellow-trigger" value="yellow" />Yellow Box</label>
<label class="radio inline">
<input type="radio" name="color-radio" id="red-trigger" value="red" />Red Box</label>
</div>
</div>
<div id="yellow-box" class="hide fade">
<p>I'm yellow</p>
</div>
<div id="red-box" class="hide fade">
<p>I'm red</p>
</div>
JS の例:
$(document).ready(function () {
$('#yellow-trigger').click(function () {
$('#yellow-box').addClass('in').removeClass('hide');
$('#red-box').addClass('hide').removeClass('in');
});
$('#red-trigger').click(function () {
$('#red-box').addClass('in').removeClass('hide');
$('#yellow-box').addClass('hide').removeClass('in');
});
});