私は「サブナビゲーション」をしたいサイトを持っています。したがって、セクションにスクロールすると、そのツールバーがメインツールバーの下に貼り付けられます。私はこれを働かせていますが、私は初期化後にトップオフセットを変更することはできません。Twitterのブートストラップ変更着座オフセット
affix('refresh')
When using affix in conjunction with adding or removing of elements from the DOM, you'll want to call the refresh method:
が、私はこれをしようとすると、私が手::ドキュメントは言う。ここ
Uncaught TypeError: Object # has no method 'refresh'
は私のコードです:
$(function() {
$('.sec-nav').addClass("affix-top");
var adjustNavs = function (first) {
$('.sec-nav').each(function(){
var $p = $(this).closest('.sec');
var $$ = $p.prevAll('.sec');
console.log($$);
var h = 0;
$$.each(function() { h+=$(this).outerHeight();});
console.log(h);
if (first) {
$(this).affix({offset: {top: h}});
} else {
$(this).data('affix', {b: {options: {offset:{top: h}}}});
console.log(this);
$(this).affix('refresh')
}
});
}
adjustNavs(true);
$('.sec').bind('DOMSubtreeModified', function() {
adjustNavs();
});
});
私は
$(this).data('affix', {b: {options: {offset:{top: h}}}});
の異なるバリエーションを試してみました
を含む:
$(this).affix({offset: {top: h}});
オフセットを変更することができません。 affixプラグインのオフセットをどのように変更しますか?ありがとう。
HTMLブロックを貼り付けることはできますか?それ以外の場合は特に言いにくいです... $( '。sec-nav')を置き換えようとすると、$( '。sec-nav')でaddClass( "affix-top"); 'affix();'それはまったく助けになりますか?または '.sec-nav'にすでに' data-spy = "affix"属性がありますか? –