【发布时间】:2013-06-28 03:02:12
【问题描述】:
基本上我想做的就是始终将我的博客文章的元信息保留在屏幕上。事实上,元信息(标题、作者等)显示在帖子内容的左侧,我将它设置为当我向下滚动时元信息平滑地停留在屏幕上的位置。但是,我遇到了一个问题:
我无法顺利不滚动#cmets DIV。它要么重叠,要么跳跃,这取决于我如何调整代码。
这是我正在使用的 JS 函数:
function brazenlyScroll() {
var element = jQuery(".single-post .headline_area");
var top = element.offset().top - 50;
var elementHeight = 26 + element.height();
var maxTop = jQuery("#comments").offset().top - elementHeight;
var scrollHandler = function() {
if (jQuery(document).width() > 1035) {
var scrollTop = jQuery(window).scrollTop();
if (scrollTop<top) {
element.css({position:"relative",top:""})
} else if (scrollTop>maxTop) {
element.css({position:"absolute",top:(maxTop+"px")})
} else {
element.css({position:"fixed",top:"50px"})
}
}
}
jQuery(window).scroll(scrollHandler);
jQuery(window).resize(scrollHandler);
scrollHandler();
}
该代码通过外部 JS 文件包含并在页面底部调用。您可以在此处查看所有这些操作:http://www.rickbeckman.org/dumber-and-dumber-and-dumber/
任何帮助将不胜感激。
【问题讨论】:
标签: javascript jquery css scroll positioning