我想添加一条弹出式消息,例如当我未登录时出现在Stack Overflow上的消息,我尝试使用投票按钮。
实现这一目标的最佳方法是什么? 它是使用jquery库完成的吗?
答案 0 :(得分:154)
编辑:以下代码显示了当您获得新徽章,首先访问网站等时,如何复制显示在屏幕顶部的条形图。对于您的悬停对话框当您尝试评论过快,投票支持您自己的问题等时,请查看this question我在哪里展示如何执行此操作或直接转到example。
以下是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;
});
});
瞧。根据您的页面设置,您可能还需要在显示屏上编辑正文边距。
答案 1 :(得分:5)
同时结帐jQuery UI Dialog
答案 2 :(得分:4)
我使用jqModal,易于使用,你可以实现一些很好的效果
答案 3 :(得分:4)
使用AJAX控件工具包中的ModalPopup是获得此效果的另一种方法。
答案 4 :(得分:3)
这是我在查看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秒后实际上消失了。
答案 5 :(得分:0)
检查bootstrap。有一些基于javascript
和css
的弹出效果,模态,转场,提醒,所有内容。