[英]How to make a div “stick” to the top of the page using jQuery?
我正在嘗試使其中之一類似於頂部的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');
}
});
});
如您所見,它發生了閃爍。 我該如何預防?
還有編寫我的代碼的更優化的方法嗎?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.