|
|
1
12
This answer 有一个完整的解决方案。 复制粘贴: 这是标记,最初隐藏,以便我们可以淡入:
以下是应用的样式:
这是javascript(使用jQuery):
瞧。根据您的页面设置,您可能还想编辑显示器顶部的正文边距。 |
|
|
2
11
在仔细研究了代码之后,这里有一个猜测: 以下通知容器始终位于视图标记中:
默认情况下,该通知容器是隐藏的,在特定情况下由javascript填充。它可以包含任意数量的消息。 如果用户未登录 坚持不懈 :Cookie用于跟踪是否显示消息。 视图中服务器端生成的代码 : 我认为stackoverflow在您未登录的情况下只显示一条消息。以下代码被注入到视图中:
showFirstTime()javascript方法只是根据是否设置了cookie来确定是否显示“这是你第一次来这里吗?”消息。如果没有cookie,则显示消息。如果用户采取行动,cookie将被设置,并且消息将来不会显示。nofity.showFirstTime()函数处理cookie的检查。 如果用户已登录 坚持不懈 :数据库用于跟踪消息是否已显示。 视图中服务器端生成的代码 : 当请求页面时,服务器端代码会检查数据库,查看需要显示哪些消息。然后,服务器端代码将json格式的消息注入到视图中,并对showMessages()进行javascript调用。 例如,如果我登录到一个视图,我会在SO的标记中看到以下内容:
因此,服务器端代码要么在用户未登录的情况下注入代码以调用“showFirstTime”方法,要么为登录的用户注入消息并调用“showMessages”。 更多关于客户端代码的信息 另一个关键组件是“通知”JavaScript模块Picflight已经缩减(您可以使用yslow for firebug进行同样的操作)。notify模块根据服务器端生成的javascript处理通知div的填充。 客户端未登录 如果用户未登录,则当用户X退出通知或通过创建cookie转到常见问题解答时,模块会处理事件。它还通过检查cookie来确定是否显示首次消息。 客户端登录 如果用户已登录,notify模块会将服务器生成的所有消息添加到通知div中。当用户关闭消息时,它也很可能使用ajax来更新数据库。 |
|
|
3
4
虽然这些绝不是官方的,但我遵循的常见做法会导致这样的结果:
同样,这些只是我在回答你的问题时所说的常见做法。正如你的问题的性质所表明的那样,网络开发的问题是,有很多方法可以用同样的结果做同样的事情。 |
|
|
4
4
我看到以下jQuery函数了吗?我相信这会将html注入到id为notify的div容器中。 我不明白这个JS是如何根据某些事件使用和调用的,也许有人可以解释一下。
|
|
|
5
2
StackOverflow使用 jQuery -你从SO发布的JS代码是一个jQuery调用。它几乎不需要任何代码,就能做你想做的事情。强烈推荐。 |
|
|
6
0
我写了这段Javascript,它就是这样做的,包括堆叠,像Stack Overflow一样滚动时陪伴在你身边,以及在添加新栏时向下推整个页面。酒吧也过期了。酒吧也逐渐形成。
要使用它,您必须使用jQuery,并确保页面正文上没有边距或填充。 AdvancedMessageBar所采用的参数是可选的。如果提供,它将导致条形图在一定时间(毫秒)后消失。
如果你想堆叠这些对象,那么只需创建更多AdvancedMessageBar对象,它们就会自动堆叠。 |
|
|
Andrus · 如何在Linux中阅读期刊 1 年前 |
|
|
Miranda · 读取xml文件时路径错误中有非法字符 1 年前 |
|
|
Primdonm · 如何将自定义列表中的字符串值格式化为货币格式? 2 年前 |
|
|
Kiryl · Sitecore中自己的控制器 2 年前 |
|
|
Farid · 如何从数据库中填充Resource.resx文件值? 2 年前 |