Twitter引导更改DOM更改的词缀偏移量



Twitter引导更改词缀偏移可能有帮助。据说他基本上也有同样的问题,并发布了我的问题的解决方案,但不幸的是我无法让它工作。

这是Bootstrap词缀插件页面(如果你知道另一个/比使用这个插件更好的方法,我洗耳恭听——这个插件不是必需的):http://twitter.github.com/bootstrap/javascript.html#affix

http://jsfiddle.net/rPsK8/1

这里有一把小提琴,它可以帮助我展示我的问题…但由于某种原因,我无法让Bootstrap词缀做任何事情。: |

$(function () {
  $('#contentbody-toolbar').addClass("affix-top").each(function (){
    var $self = $(this);
    if ($("#advanced-total-outer").is(":visible")) {
    var offsetFn = function () {
        var $p = $('#advanced-total-outer').outerHeight();
        var h = 175 + $p;
        return h;
    }
    $self.affix({offset: {top: offsetFn}});
 } else {
    var offsetFn = function () {
        var h = 175;
        return h;
    }
    $self.affix({offset: {top: offsetFn}});
}
  });
});
编辑:我将上面的代码简化为(应该做同样的事情):
$(function () {
  $('#contentbody-toolbar').addClass("affix-top").each(function (){
    var $self = $(this);
     var offsetFn = function () {
        var $p = $('.wrapper.clearfix.no-bord').outerHeight();
        var h = 175 + $p;
        return h;
    $self.affix({offset: {top: offsetFn}});
};
  });
});

但无论如何,这就是我的页面是如何设置的,当你向下滚动,导航栏(#contentbody-toolbar)在窗口的顶部,它固定在它。问题是,如你所见,我有一个div,它可以被取消隐藏。所以当元素没有被隐藏时我需要更新偏移量

头也可以改变大小(高度),如果用户希望,所以它也需要更新。我上面发布的代码对我来说似乎是合乎逻辑的,它似乎"工作",因为它识别偏移量的变化,但词缀插件显然不会更新DOM中的变化,如果这有意义的话。滚动175px后,它会自动修复。

我已经试了好几天了,老实说,我很沮丧。我真的不知道该怎么做。当问一个问题时,Stackoverflow的侧边栏似乎是我想要的功能,但我找不到他们的脚本moveScroller。

感谢您的帮助,非常感谢。

所以,我注意到/提到了stackoverflow的作品,就像我想要的那样…好吧,我搜索了一下,并找到了他们的代码,感谢Josh Lee @我怎么能让一个div粘贴到屏幕顶部,一旦它被滚动到?

使用了几乎相同的代码:

function moveScroller() {
    var move = function() {
        var st = $(window).scrollTop();
        var ot = $("#scroller-anchor").offset().top;
        var s = $("#scroller");
        if(st > ot) {
            s.css({
                position: "fixed",
                top: "0px",
                width: "61%"
            });
        } else {
            if(st <= ot) {
                s.css({
                    position: "relative",
                    top: "",
                    width: "auto"
                });
            }
        }
    };
    $(window).scroll(move);
    move();
}
<script type="text/javascript"> 
  $(function() {
    moveScroller();
  });
</script> 

相关内容

  • 没有找到相关文章

最新更新