我正在尝试将其中一个类似于顶部的stackoverflow橙色消息,如果向下滚动页面,消息将被固定到顶部“并且当您向后滚动以使其在视图中时它恢复修复并返回显示为块。
无论如何这是我的尝试:
HTML:
<div style="border:1px solid red;height:50px;width:100%">Header</div>
<div id="message">Message</div>
<br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br />
CSS:
#message { padding: 10px; background: #06c; }
.message-fixed { position: fixed; top: 0; width: 100%; }
JQUERY:
$(function() {
var message = $('#message');
$(window).scroll(function() {
if($(window).scrollTop() > (message.offset().top + message.height())) {
message.addClass('message-fixed');
}
else {
message.removeClass('message-fixed');
}
});
});
正如你所看到的那样,闪烁正在发生。我该如何防止这种情况?
还有一种更优化的方式来编写我的代码吗?