Как показать всплывающее сообщение как в переполнении стека
Я хотел бы добавить всплывающее сообщение, подобное тому, которое появляется в переполнении стека, когда я не вошел в систему и пытаюсь использовать кнопки голосования.
Каков наилучший метод для достижения этого? Это сделано с использованием библиотеки jquery?
Ответы
Ответ 1
РЕДАКТИРОВАТЬ. В приведенном ниже коде показано, как реплицировать полосы, которые отображаются в верхней части экрана, когда вы получаете новый значок, сначала приходите на сайт и т.д. Для парящих диалогов, которые вы получить, когда вы пытаетесь прокомментировать слишком быстро, проголосовать за свой вопрос и т.д., просмотрите этот вопрос, где я покажу, как это сделать или просто перейдите прямо к пример.
Вот как это делает Stackoverflow:
Это разметка, изначально скрытая, чтобы мы могли ее угасить:
<div id='message' style="display: none;">
<span>Hey, This is my Message.</span>
<a href="#" class="close-notify">X</a>
</div>
Вот применяемые стили:
#message {
font-family:Arial,Helvetica,sans-serif;
position:fixed;
top:0px;
left:0px;
width:100%;
z-index:105;
text-align:center;
font-weight:bold;
font-size:100%;
color:white;
padding:10px 0px 10px 0px;
background-color:#8E1609;
}
#message span {
text-align: center;
width: 95%;
float:left;
}
.close-notify {
white-space: nowrap;
float:right;
margin-right:10px;
color:#fff;
text-decoration:none;
border:2px #fff solid;
padding-left:3px;
padding-right:3px
}
.close-notify a {
color: #fff;
}
И это javascript (с помощью jQuery):
$(document).ready(function() {
$("#message").fadeIn("slow");
$("#message a.close-notify").click(function() {
$("#message").fadeOut("slow");
return false;
});
});
И вуаля. В зависимости от настроек вашей страницы вы также можете редактировать отображаемый край тела.
Вот демонстрация этого в действии.
Ответ 2
Также проверьте jQuery UI Dialog
Ответ 3
Я использую jqModal, прост в использовании, и вы можете добиться отличных эффектов
Ответ 4
Использование ModalPopup в наборе инструментов управления AJAX - это еще один способ получить этот эффект.
Ответ 5
Вот что я нашел из просмотра источника StackOverflow. Надеюсь, это поможет кому-то.
Функция showNotification используется для всех этих всплывающих сообщений.
var showNotification=function(jClicked,msg){master.showErrorPopup(jClicked.parent(),msg)};
var showFadingNotification=function(jClicked,msg){master.showErrorPopup(jClicked.parent(),msg,true)};
//master...
showErrorPopup: function (e, h, f) {
var g = $('<div class="error-notification supernovabg"><h2>' + h + "</h2>" + (f ? "" : "(click on this box to dismiss)") + "</div>");
var i = function () {
g.fadeOutAndRemove()
};
$(e).append(g);
g.click(i).fadeIn("fast");
setTimeout(i, (f ? Math.max(2500, h.length * 40) : 1000 * 30))
}
CSS
.error-notification{z-index:1;cursor:pointer;display:none;position:absolute;padding:15px;-moz-box-shadow:2px 2px 5px #000;-webkit-box-shadow:2px 2px 5px #000;box-shadow:2px 2px 5px #000;}
.error-notification a{color:inherit;text-decoration:underline;}
.error-notification li{font-size:110%;padding-top:3px;}
.supernovabg{color:#fff !important;background-color:#fe7a15 !important;}
Остыньте, как они используют длину сообщения, чтобы установить тайм-аут замирания. Я не понял, что все сообщения (не затухающие стили) действительно исчезают через 30 секунд.
Ответ 6
Отметьте bootstrap. Есть несколько всплывающих эффектов, модалов, переходов, предупреждений, все на основе javascript
и css
.
Ответ 7
Вы пробовали элементы управления "Kendo UI" @Puneet? У них довольно много элементов управления на рукавах, что может быть полезно, если вы или кто-то все еще ищете настраиваемые всплывающие окна/диалоговые окна. Я использовал их средства управления на стороне клиента и "очень" доволен, поскольку они делают то, что говорят, и, кроме того, превосходную поддержку клиентов, чтобы поддержать свои продукты.
Ура!
п