1

我正在使用引导词缀插件在右角幻灯片上制作一个带有内容的 div。我在窗口顶部有另一个部分,它将展开以打开另一个部分以显示一些详细信息。问题是,当展开 details 部分的 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');
   }
    });

我已经从开发人员工具中验证了偏移量得到了更新,但是附加元素的行为保持不变(它仍然被附加在相同的顶部位置)。我还需要做什么来动态更新偏移顶部值。

4

3 回答 3

2

我正在处理的一个新站点也有类似的情况(当窗口调整大小时,附加导航栏上方的幻灯片会改变高度,使附加导航栏的偏移量错误)。

答案是从 jQuery 数据缓存中删除词缀数据,然后删除与词缀插件关联的所有类,如下所示:

$([selector]).removeData('affix').removeClass('affix affix-top affix-bottom');

我发现在https://github.com/twbs/bootstrap/issues/5870的底部

于 2013-06-06T04:48:12.347 回答
0

查看 scrollspy('refresh') 方法是否有帮助:http: //twitter.github.com/bootstrap/javascript.html#scrollspy

.scrollspy('refresh')

当使用 scrollspy 和从 DOM 中添加或删除元素时,你需要像这样调用 refresh 方法:

$('[data-spy="affix"]').each(function () {
var $spy = $(this).scrollspy('refresh')
});

祝你好运!

于 2013-03-25T11:31:01.680 回答
0

根据手册,您可以将数据属性传递给返回偏移值的函数。

如果您要从 JSFiddle 开始解决这个问题,那么已经处理过它的人可以轻松地帮助您。

于 2013-03-25T14:06:58.870 回答