2014-12-05 21 views
5

Ben şeffaf olmaya gezinme çubuğunu istiyorum ama sayfada aşağı zaman örneğin kırmızı renk değişir. BöyleSayfayı aşağı kaydırdığınızda gezinme çubuğu nasıl renk değiştirir?

<div class="nav"> 
     <div class="container"> 
     <div class="logo"> 
     <a href="#"><img src="RepublicSquare_logo.svg" style="height: 80px;"></a> 
     </div> 
     <div class="navMain"> 
      <ul> 
       <li><a href="#">Home</a></li> 
       <li><a href="#">About</a></li> 
       <li><a href="#">Services</a></li> 
       <li><a href="#">Portfolio</a></li> 
       <li><a href="#">Contact</a></li> 
      </ul> 
     </div> 
     </div> 
    </div> 

cevap

12

şey: herkes (vanilya js) olmayan bir jquery çözüm arıyorsanız olurdu

http://jsfiddle.net/qrhjdfmd/

var a = $(".nav").offset().top; 

$(document).scroll(function(){ 
    if($(this).scrollTop() > a) 
    { 
     $('.nav').css({"background":"red"}); 
    } else { 
     $('.nav').css({"background":"transparent"}); 
    } 
}); 
+0

teşekkürler. Sadece görünmemesi için renklerin nasıl solduğunu biliyor musunuz? – user3218008

+1

CSS geçiş özelliğini şu şekilde ekleyin: http://jsfiddle.net/qrhjdfmd/. Lütfen, eğer faydalı olursa cevabımı doğru olarak işaretleyin. – KaMZaTa

+0

Soruyu cevaplamak için zaman ayırdığınız için teşekkür ederiz. Bu jQuery ile birlikte;: {1s geçiş süresi} $ (belge) .ready (fonksiyonu() { var scroll_start = 0; var startchange = $ ('nav.'); var .nav - Bu kullanılan offset = startchange.offset(); $ (document) .scroll (işlev() { scroll_start = $ (this) .scrollTop(); (scroll_start> offset.top) { $ ('. nav') .css ('background-color', 'RGBA (34,34,34,0.9)'); } else { $ ('nav. ') css (' background-color', 'şeffaf');. }); }); – user3218008

1

, işte burada:

document.addEventListener("DOMContentLoaded", function() { 
    var scrollStart = 0; 
    var nav = document.querySelector(".nav"); 
    var offset = navbarElement.getBoundingClientRect(); 

    document.onscroll = function (e) { 
     scrollStart = e.target.scrollingElement.scrollTop; 
     if (scrollStart > offset.top) { 
      nav.style.background-color, rgba(34,34,34,0.9); 
     } else { 
      nav.style.background-color = "transparent"; 
     } 
    }; 
}); 
0

OP tarafından çözüm.

jQuery

$(document).ready(function(){  
    var scroll_start = 0; 
    var startchange = $('.nav'); 
    var offset = startchange.offset(); 
    $(document).scroll(function() { 
     scroll_start = $(this).scrollTop(); 
     if(scroll_start > offset.top) { 
      $('.nav').css('background-color', 'rgba(34,34,34,0.9)'); 
     } else { 
      $('.nav').css('background-color', 'transparent'); 
     } 
    }); 
}); 

Bu şeffaf gezintinizi yapmalıdır ve kaydırma zaman RGBA değişecektir

.nav { 
transition-duration: 1s; 
} 

CSS (34,34,34,0.9) Bunun için