• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Zmiana koloru menu na transparent w czystym js.

Object Storage Arubacloud
–2 głosów
155 wizyt
pytanie zadane 8 września 2017 w JavaScript przez Kalif Użytkownik (640 p.)
zmienione kategorie 8 września 2017 przez Kalif

Cześć!
Chciałbym zmienić kolor menu na transparent jednak cały czas wywala mi błąd:" Uncaught TypeError: Cannot read property 'css' of undefined at testScroll ".
 

var menuBackgroundColor = document.getElementById('main-nav');

function testScroll(ek){
    if(window.pageYOffset>400){
    	document.menuBackgroundColor.css("backgroundColor", "transparent");
    }
}
window.onscroll=testScroll;


<nav class="main-nav" id="main-nav">
			<div class="width-container">
				<img src="img/logo.png" alt="logo" class="logo-nav">
				<ul class="menu">
					<li><a href="">HOME</a></li>
					<li><a href="">ABOUT</a></li>
					<li><a href="">SERVICES</a></li>
					<li><a href="">GALLERY</a></li>
					<li><a href="">BLOG</a></li>
					<li><a href="">CONTACT</a></li>
				</ul>
			</div>
		</nav>

Większość odpowiedzi w internecie jest w jquery a staram się zacząć naukę od czystego javascriptu.
O co chodzi?

2 odpowiedzi

+1 głos
odpowiedź 8 września 2017 przez Mikołaj Kawczynski Dyskutant (9,160 p.)
document.menuBackgroundColor.css("backgroundColor", "transparent");

Po pierwsze to cała ta linijka jest do wyrzucenia. Po co odwołujesz się do dokumentu?  On Ci w tym wypadku szuka właściwości menuBackgroundColor w obiekcie document a taka nie istnieje. No .css(parametr, wlasciwosc) to jest z JQ a piszesz że JQ nie chesz używać.  Nie możesz tak pół na pół albo całe w JQ albo sam JS. Więc najlepiej to ustaw czystym JS normalnie:

 menuBackgroundColor.style.backgroundColor = "transparent";
+1 głos
odpowiedź 8 września 2017 przez niezalogowany
- używaj let / const zamiast var.

- wywal document przed menuBackgroundColor

- zamień .css na .style.background = "transparent"

- możliwe że będziesz musiał zwrócić rezultat więc dodaj return przed menuBackgroundColor w takim wypadku

Zajęło mi to 30s do wygooglowania 'document style js' z gotowym rozwiązaniem, pewnie 10x mniej czasu niż zadanie tego pytania. Jak chcesz szukać rzeczy związanych z vanilla JS, nie możesz pomijać "js" || "javascript" w wyszukiwaniu, bo większość rzeczy będzie z jQuery.

Podobne pytania

0 głosów
1 odpowiedź 6,673 wizyt
pytanie zadane 30 listopada 2017 w JavaScript przez henohiki123 Nowicjusz (120 p.)
0 głosów
1 odpowiedź 693 wizyt
pytanie zadane 29 czerwca 2017 w JavaScript przez Pomidorek Nowicjusz (140 p.)
+1 głos
2 odpowiedzi 397 wizyt
pytanie zadane 20 października 2015 w JavaScript przez mac-rum Użytkownik (610 p.)

92,570 zapytań

141,422 odpowiedzi

319,643 komentarzy

61,958 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...