【发布时间】:2014-07-26 10:11:50
【问题描述】:
我使用 Bootstrap 词缀创建了一个固定位置 div,其行为类似于您在 Stackoverflow 中提出新问题时出现的“如何格式化”和“类似问题”div。当我第一次加载页面时它工作正常,但是如果我向下滚动页面很远,导航离开,然后使用后退按钮返回页面,附加的 div 有时会被附加到错误的位置,有时固定位置会中断,它会简单地返回到文档中的正常位置。
我执行词缀的方式有问题吗?
文档布局(#engage 是附加的 div)。它不应该滚动到#title 或#footer:
Javascript
$('#engage').affix({
offset: {
top: $('#donation-content').offset().top,
bottom: function () {
return (this.bottom = $('.footer').outerHeight(true))
}
}
});
CSS
#engage.affix {
position: fixed;
top: 0;
}
@media(max-width:767px){
#engage.affix {
position: static;
}
}
您可以在http://www.bootply.com/pxyz1hsefA 找到示例代码。如果您滚动到页面底部,单击“转到其他地方”,然后单击返回按钮,则往往会发生错误。暴力的上下滚动也会破坏它。
编辑:
将.affix-bottom 类添加到具有绝对定位的css 可以通过某种方式修复它。至少现在当它“损坏”时,div 只是停留在其滚动范围的底部。当我滚动回顶部时,它会再次恢复到正确的固定位置。但它仍然不是我所说的稳定。
#engage.affix-bottom {
position: absolute;
}
【问题讨论】:
-
这个浏览器/平台是特定的吗?刚刚在 OSX 上快速尝试了 Chrome 和 Firefox,我看不到所描述的问题……
标签: javascript jquery css twitter-bootstrap twitter-bootstrap-3