如何将Affix(Twitter Bootstrap 3)的偏移量更改为其他值?
当我试图像这样两次调用方法时,第二个似乎被忽略并且没有任何效果:
$('#navbar-main').affix({ offset: 100});
$('#navbar-main').affix({ offset: 200}); // ---> the offset will not change to 200px
在第二次调用.affix
之前重置affix
回调也无济于事:
$('#navbar-main').affix({ offset: 100});
$(window).off('.affix');
$('#navbar-main').affix({ offset: 200}); // ---> the offset will not change to 200px
答案 0 :(得分:39)
请记住,您可以随时使用数据方法访问构造函数...
所以,如果您只是尝试更新某个值......您可以这样做:
$('#navbar-main').data('bs.affix').options.offset = newOffset
希望有助于< 3脂肪
答案 1 :(得分:13)
这是怎么回事。关键是要在off
上调用.affix
,在附加元素上调用removeData
。假设我要重置#navbar-main
的词缀:
Bootstrap< 3(来自es128):
$(window).off('.affix')
$('#navbar-main').removeData('affix').removeClass('affix affix-top affix-bottom')
$('#navbar-main').affix({ offset: 400})
Bootstrap 3(来自Dysko):
$(window).off('.affix')
$('#navbar-main').removeData('bs.affix').removeClass('affix affix-top affix-bottom')
$('#navbar-main').affix({ offset: 400})