2016-04-15 15 views
2

Ich bin ein Student an der Universität und fragt, was ist die beste Lösung für diesen Anwendungsfall, dass ich an einem Projekt verwenden, bin zu wollen:OnScroll Navbar in Bootstrap 3 ändern?

Standard-navbar navbar-default navbar-fixed div mit einem nav navbar-nav navbar-right div in seinem Innern. das hat ein Logo in der linken Seite http://www.bootply.com/8PW9UzYPOo

, die auf Blättern durch ein navbar-brand Element ersetzt wird, das die Wörter des Logos http://www.bootply.com/Q3NXBLXWBN enthält.

Ich denke irgendwie, dass Javascript die Lösung wäre, aber ich bin mir nicht sicher.


Pseudo-Code

If scroll beyond x pixels 
hide logotype <a> link 
replace with text <a> link 
text as class="navbar-brand" 

Ein Beispiel, das ich auf einer anderen Website gesehen habe, aber es ist ein Modul von Drupal auf diesen example und das Logo verschwindet einfach nicht ersetzt.

+1

auf Google finden Es gibt viele fertige Code f oder dieses –

+0

gibt es ein bisschen viele Optionen, so wollte mehr eine Empfehlung, die am stabilsten ist. auch nicht genau, welche Begriffe zu suchen. – GeorgeWL

+0

siehe dieses Beispiel http://jsfiddle.net/gxRC9/501/ –

Antwort

1

Fügen Sie einfach Klasse auf Ihrem Element und als mit ihm spielen

zum Beispiel

$(window).scroll(function(){ 
    var sticky = $('.navbar-fixed-top'), 
     scroll = $(window).scrollTop(); 

    if (scroll >= 100) sticky.addClass('fixed'); 
    else sticky.removeClass('fixed'); 
}); 

und als spielen mit dieser Klasse

.logo-text { 
    display:none; 
} 
.fixed .logo-text { 
    display:block; 
} 
.fixed .logo-img { 
    display:none; 
} 

working example

+0

Eine Sache, obwohl navbar-Marke nicht gut mit Bildern spielt, so wäre es besser hinzuzufügen das zur gleichen Zeit als behoben. Wie würde das gehen? – GeorgeWL

+0

.logo-img> img {// Ihr css hier} –

+0

siehe http://www.bootply.com/SHsUBaifnM –

Verwandte Themen