我正在使用bootstrap affix插件在内容的右上角滑动div。我在窗口顶部有另一个部分,它将展开以打开另一部分以显示一些细节。问题是,当扩展细节部分div时,必须更新附加div的偏移量。我做过类似的事情
<div class="affixed-box" data-offset-top="160" data-spy="affix">
$(".detail-btn").click(function(){
if ($(".opened").length > 0) //The detail div is expanded
{
$(".affixed-box").attr('data-offset-top','160');
}
else
{
$(".affixed-box").attr('data-offset-top','400');
}
});
我已从开发人员工具验证偏移量已更新,但附加元素的行为保持不变(它仍保留在同一顶部位置)。我还需要做些什么才能动态更新偏移顶部值。
答案 0 :(得分:2)
与我正在处理的新网站有类似的情况(当窗口调整大小时,附加导航栏上方的幻灯片显示更改高度,使附加的导航栏具有错误的偏移)。
答案是从jQuery数据缓存中删除词缀数据,然后删除与词缀插件相关的任何类,如下所示:
$([selector]).removeData('affix').removeClass('affix affix-top affix-bottom');
的底部
答案 1 :(得分:0)
查看scrollspy('refresh')方法是否有帮助:http://twitter.github.com/bootstrap/javascript.html#scrollspy
.scrollspy('refresh')
当将scrollspy与从DOM中添加或删除元素结合使用时,您需要调用刷新方法,如下所示:
$('[data-spy="affix"]').each(function () {
var $spy = $(this).scrollspy('refresh')
});
祝你好运!
答案 2 :(得分:0)
根据manual,您可以在数据属性中传递返回偏移值的函数。
如果您想解决问题,那么已经处理过问题的人可以轻松帮助您。