私は以下の機能を持っています。 jQuery:slideDown jump
function notificationBoxOutput(type, message) {
if (type == "success") { $('.notificationBox').removeClass('warning').addClass('success'); }
if (type == "warning") { $('.notificationBox').removeClass('success').addClass('warning'); }
$('.notificationBox').html('<b>' + type + ':</b> ' + message);
$('.notificationBox').slideDown().delay(3000).slideUp();
}
と次のCSS機能は、トップからnotificationBoxべきslideDownを解雇されそう
div.notificationBox
{
top: 0px;
left: 0px;
width: 100%;
position: fixed;
z-index: 3;
background: #333333;
text-align: center;
vertical-align: center;
opacity:0.85;
filter:alpha(opacity=85);
display: none;
}
div.warning { background-color: #990000; display: block; }
div.success { background: #009900; display: block; }
は、そのメッセージと3secs slideUp再び後を示しています。
slideUpだけがアニメーションとして正常に動作しますが、slideDownがアニメーションなしでジャンプする理由は何ですか?
これは話題にはなりませんが、***あなたが '$( '。notificationBox')'を実行するたびに、jQueryはDOMを上から下に検索しなければなりません。関数を繰り返し呼び出すのではなく、一度呼び出す*、結果を変数に格納して、それを使用する。 –
私の答えは – avall