2015-08-28 26 views
1

我使用属性navbar-fixed-top将我的导航栏固定在顶部。但我还有其他固定的元素,我们没有看到。从引导修复了一个导航栏

这是我的固定导航栏和它下面我想看到的固定元素。

enter image description here

正在发生的事情是,我的元素(只叫它“线”)是由选项,但导航栏的位置不是绝对固定的,因此行通过导航栏下,当我滚动这条线很好地固定,但它被导航栏隐藏了。我不知道是否清楚,但我希望这两个元素被粘合而不是叠加。

我该怎么办?

编辑:

我的jsfiddle:http://jsfiddle.net/5Zv8h/13/

如果您尝试删除次enavbar,你会看到,第一行停留在页面的顶部。使用导航栏时,它是隐藏的。

+0

请分享您的代码我们(更好的JFiddle或Plunker),所以我们可以看到你在做什么妈妈ENT。 – ArBro

+0

由于您使用top:0px修复了它,因此您的“行”需要有更多的空间来放置顶端:你需要像top:100px;并将其调整到自举导航栏的高度;) –

+0

@Hammster我试过了,但它只是在导航栏和行之间做了一个marge。当我滚动时,该行仍然被导航栏隐藏。 – Erlaunis

回答

1

我已经写脚本来解决这个问题,将它添加到您的代码:

JS

var navheight = $(".navbar-fixed-top").innerHeight(); 
var offtop = $(".ht_clone_top").offset().top; 
$(window).scroll(function(){ 
    var scrolltop = $(window).scrollTop(); 
    if(scrolltop + navheight >= offtop){ 
     if(!($(".ht_clone_top").hasClass("affixed"))){ 
      $(".ht_clone_top").addClass("affixed"); 
     } 
     if(offtop>= scrolltop){ 
      console.log("now"); 
      $(".ht_clone_top").css({ 
       "top": scrolltop - 40 
      }); 
     } else { 
      $(".ht_clone_top").css({ 
       "top": 50 
      }); 
     } 
    } else { 
     $(".ht_clone_top").removeClass("affixed"); 
     $(".ht_clone_top").css({ 
      "top": 0 
     }); 
    } 
}); 

CSS

.affixed { 
    z-index: 99999; 
    position: absolute; 
} 

演示: http://jsfiddle.net/5r9p380n/2/