Jquery Twitter引导更改粘贴偏移量
我有一个网站,我想'子导航'。因此,当您滚动到section时,它的工具栏将粘贴在主工具栏下方。我有这个工作,但我不能改变初始化后的顶部偏移。文件说: 粘贴('刷新') 将“词缀”与添加或删除元素结合使用时 从DOM中,您需要调用刷新方法: 但当我尝试这个时,我得到: 未捕获的TypeError:对象#没有“刷新”方法 这是我的密码:Jquery Twitter引导更改粘贴偏移量,jquery,twitter-bootstrap,Jquery,Twitter Bootstrap,我有一个网站,我想'子导航'。因此,当您滚动到section时,它的工具栏将粘贴在主工具栏下方。我有这个工作,但我不能改变初始化后的顶部偏移。文件说: 粘贴('刷新') 将“词缀”与添加或删除元素结合使用时 从DOM中,您需要调用刷新方法: 但当我尝试这个时,我得到: 未捕获的TypeError:对象#没有“刷新”方法 这是我的密码: $(function () { $('.sec-nav').addClass("affix-top"); var adjustNavs = fun
$(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}});
我无法更改偏移量。如何更改粘贴插件的偏移量?谢谢。我想出来了。我没有动态更新偏移量,而是将偏移量值更改为函数:
$(function () {
$('.sec-nav').addClass("affix-top").each(function (){
var $self = $(this);
var offsetFn = function () {
var $p = $self.closest('.sec');
var $$ = $p.prevAll('.sec');
var h = 0;
$$.each(function () { h+=$(this).outerHeight();});
return h;
}
$self.affix({offset: {top: offsetFn}});
});
});
现在,当一个部分由于dom操作或窗口大小调整而改变时,偏移量会由于函数返回值的改变而自动改变 我稍微简化了Fatmuemoo的回答,以了解更基本的情况: 我的主页的导航栏(默认引导栏)位于一个id为bg的大背景滑块下方。滑块的高度随3个css断点而变化。我们只需将#杆头的偏移量设置为滑块的高度。轻松点
$('header#masthead').affix({ //sticky header at bottom of bg
offset: {
top: function(){return $("#bg").outerHeight();}
}
});
那么:
$(window).off('.affix');
$("#ID_NAME")
.removeClass("affix affix-top affix-bottom")
.removeData("bs.affix");
$('#ID_NAME').affix({
offset: {
top: OTHER_VALUE
}
});
你们能粘贴一块HTML吗?否则很难说。。。如果您尝试替换
$('.sec nav').addClass(“粘贴顶部”)代码>带有$('.sec nav').affix()代码>这有帮助吗?或者您是否已经在.sec nav
上获得了data spy=“affix”
属性?您能否提供所使用的html或工作示例?我正在尝试将其应用到现有代码中,但我不知道.sec是什么。正在尝试调整窗口大小$('.myMeny')。粘贴({offset:{top:myOffet}})代码>但不起作用,该值没有改变解决方案。只是工作(通过一些我不懂的巫术)@davecave,要调整解决方案,请删除offsetFn中除“var h=”和“return h;”之外的所有内容。然后使用你自己的元素和计算来确定“h”的值。像一个魔咒一样工作!我试过调整窗口大小,但不起作用。谢天谢地,我找到了这个答案。谢谢,简单而高效,效果很好,并且很容易创建您所需的所有元素的总和。通常,如果答案包括对代码意图的解释,以及在不引入其他元素的情况下解决问题的原因,那么答案会更有帮助。