如图。蓝色的那块div的top值随滚动条的scrollTop值改变,但不能超过白色的那块区域,意思就是不能重叠到头部或底部的div上。请问如何实现。以下是我的代码,感觉累赘并且在IE6下无效。请高手指点var top_height = document.getElementById("top").offsetHeight;
var left_height = document.getElementById("left").offsetHeight; $(document).ready(function() {
$(document).scroll(function() {
var scroll_top = document.documentElement.scrollTop;
var left_top = $("#left").offset().top;
var m2_top = $("#m2").offset().top; if ((scroll_top > top_height) && (scroll_top + left_height < m2_top)) {
$("#left").css({ "top": scroll_top });
}
else {
if (scroll_top < top_height) {
$("#left").css({ "top": top_height + 20 });
}
else {
$("#left").css({ "top": m2_top - 10 - left_height });
}
} })
})
var left_height = document.getElementById("left").offsetHeight; $(document).ready(function() {
$(document).scroll(function() {
var scroll_top = document.documentElement.scrollTop;
var left_top = $("#left").offset().top;
var m2_top = $("#m2").offset().top; if ((scroll_top > top_height) && (scroll_top + left_height < m2_top)) {
$("#left").css({ "top": scroll_top });
}
else {
if (scroll_top < top_height) {
$("#left").css({ "top": top_height + 20 });
}
else {
$("#left").css({ "top": m2_top - 10 - left_height });
}
} })
})
position:absolute;
top:10px;
}听下来这个蓝的层 和 白色的层是并列的关系所以只要放在 一个绝对为止就可以了