2015-08-28 85 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/