ユーザーがフォームに変更を加えた場合にのみ、フォームsubmit
とボタンを表示しようとしています。reset
私の元の方法は簡単です。hidden
ページの読み込み時にボタンにクラスを追加し、フォームが変更されたときにそれを削除します。これは十分に機能します。しかし、ミックスにトランジションを追加すると、最初hidden
にページの読み込み時にクラスを追加したときにトランジションが発生しますが、これは望ましくありません。
関連するコードは次のとおりです(または jsfiddle でライブを参照してください):
html
<form>
<input type="text" />
<input type="submit" value="Save" />
<input type="reset" value="Reset" />
</form>
CSS
input[type=submit], input[type=reset] {
transition: all 0.6s ease-in-out;
&.hidden {
opacity: 0;
}
}
javascript (JQuery 1.9.1 を使用)
$(document).ready(function () {
var buttons = $('input[type="submit"], input[type="reset"]').addClass('hidden');
$('form').on(
'change input',
':input',
function () {
buttons.removeClass('hidden');
}
).on(
'reset',
function () {
buttons.addClass('hidden');
}
);
});
hidden
クラスが初めて追加された後にのみトランジションを有効にするにはどうすればよいですか?