Я попробовал вам код. Я добавил две кнопки для вызова функции уведомлений BoxOutput.
<html><head>
<script language="javascript" src="jquery-1.6.1.min.js"></script>
<script type="text/javascript">
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();
}
</script>
<style>
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; }
</style>
</head><body>
<div class="notificationBox">Hi</div>
<button onclick='notificationBoxOutput("success","success")' >success</button>
<button onclick='notificationBoxOutput("warning","warning")' >warning</button>
</body></html>
Я обнаружил, что проблема с джампингом возникает только тогда, когда я сначала нажимаю на кнопку успеха, а затем на кнопку предупреждения до 3000 мс. Это также происходит, когда мы сначала нажимаем кнопку предупреждения, а затем кнопку успеха в течение 3 секунд.
Для решения этой проблемы добавьте этот код перед проверкой введите в messagesBoxOutput ()
$('.notificationBox').hide();
Также посетите http://jqueryfordesigners.com/slidedown-animation-jump-revisited/. В JQuery есть ошибка. Эта ссылка может вам помочь.