JavaScript 實(shí)現(xiàn):
window.addEventListener("scroll", function(){
var infoDiv = document.getElementById("info-module");
var footer = document.getElementById("footer");
var scrollTop = document.documentElement.scrollTop || document.body.scrollTop;
var offsetTop = infoDiv.offsetTop;
if(scrollTop > offsetTop && scrollTop < footer.offsetTop - window.innerHeight){
infoDiv.style.position = "fixed";
infoDiv.style.top = "0";
} else if(scrollTop >= footer.offsetTop - window.innerHeight){
infoDiv.style.position = "absolute";
infoDiv.style.top = footer.offsetTop - infoDiv.clientHeight + "px";
} else{
infoDiv.style.position = "static";
}
});
jQuery 實(shí)現(xiàn):
$(window).scroll(function(){
var infoDiv = $("#info-module");
var footer = $("#footer");
var scrollTop = $(window).scrollTop();
var offsetTop = infoDiv.offset().top;
if(scrollTop > offsetTop && scrollTop < footer.offset().top - $(window).height()){
infoDiv.css({position: "fixed", top: "0"});
} else if(scrollTop >= footer.offset().top - $(window).height()){
infoDiv.css({position: "absolute", top: footer.offset().top - infoDiv.outerHeight() + "px"});
} else{
infoDiv.css("position", "static");
}
});