這可能是一個簡單的問題,但請幫助! 我使用下面的代碼實施了粘性div
,但我需要知道如何更改div
「卡住」的位置?如何在滾動過去50%的物品時粘住div?
我想要的是我的div
只有當它滾動的50%通過頂部時纔會卡住。目前它在到達頂部時卡住了,但我希望其中的50%在卡住之前保持滾動(粗略)。
$(document).ready(function() {
var s = $("#picture1");
var pos = s.position();
$(window).scroll(function() {
var windowpos = $(window).scrollTop();
//$("#header_left").html("Distance from top:" + pos.top + "<br />Scroll position: " + windowpos);
if (windowpos >= pos.top) {
s.addClass("stick");
} else {
s.removeClass("stick");
}
if (windowpos >= pos.top) { s.addClass("stick"); $("body").css("margin-top", s.height()); } else { s.removeClass("stick"); $("body").css("margin-top", 0); }
});
});
和CSS
.stick {
position:fixed;
top:0px;
/*_top: expression(ie6 = (document.documentElement.scrollTop + "px"));*/
z-index: 1000;
}
謝謝你,但當它得到的位置整個div消失! – user3358264
我不確定..但嘗試刪除第二個if else語句..'margin-top'style可能會干擾 – Anubhav
是的,這似乎是與它有關,但如果我刪除該行,前50%被粘住的Div會被卡住(可能重複),並且身體的其他部分跳轉到填充固定div的空間,就好像它消失一樣。儘管我們處於正確的軌道! – user3358264