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

Jak zapętlić by zmianie na przemian ulegał kolor diva ?

Object Storage Arubacloud
0 głosów
560 wizyt
pytanie zadane 10 listopada 2017 w JavaScript przez DariuszH Gaduła (3,100 p.)

Jak zapętlić by zmianie na przemian ulegał kolor diva ? 


<!Doctype html>
<html>
    <head>
    <title>javascript exercises !</title>
    <meta charset="utf-8">
    <script type="text/javascript"></script>
    <link rel="stylesheet"  type="text/css">

</head>

<style>
    
body{
margin: 0;
width: 100%;


}


#header{
    margin: 0;
width: 100%;
height:7vh;
background-color: black;
background-size: 100% 100%; 


}

</style>


    <body>
        <div Id="header" onclick="change_click();"></div>

        


            
  

<script type="text/javascript">
    
function change_click(){

    var div = document.getElementById("header");
    

    if(div.style.backgroundColor="black"){
        div.style.backgroundColor="orange";
    }

    

  }


</script>


 </body>

</html>

3 odpowiedzi

0 głosów
odpowiedź 10 listopada 2017 przez xmentor Nałogowiec (49,520 p.)
wybrane 10 listopada 2017 przez DariuszH
 
Najlepsza

Właściwość style pobiera style inline-owe, których Twój element nie ma.

Dodatkowo w warunku przypisujesz a nie porównujesz.

Lepszym wyjściem będzie togglowanie klasy, która będzie odpowiednio ostylowana.

komentarz 10 listopada 2017 przez DariuszH Gaduła (3,100 p.)
Dziękuję za Informację :)
0 głosów
odpowiedź 10 listopada 2017 przez ProgramistaStepek Nałogowiec (27,020 p.)
Użyj do tego CSS
komentarz 10 listopada 2017 przez DariuszH Gaduła (3,100 p.)
Dziękuję za informację :)
0 głosów
odpowiedź 10 listopada 2017 przez Michał Nowak Początkujący (320 p.)

Po pierwsze div musi mieć styl inline, w przeciwnym przypadku przy pierwszym wywołaniu div.style.backgroundColor jest pusty.

Czyli:   <div id="header" onclick="change_click();" style="background:black"></div>

Po drugie:  

if(div.style.backgroundColor=="black")

a nie 

if(div.style.backgroundColor="black")

Po trzecie dodaj else.

Razem:

<!Doctype html> 
<html> 
    <head> 
    <title>javascript exercises !</title> 
    <meta charset="utf-8"> 
    <script type="text/javascript"></script> 
    <link rel="stylesheet"  type="text/css">

</head>

<style> 
     
body{ 
margin: 0; 
width: 100%;


}


#header{ 
    margin: 0; 
width: 100%; 
height:7vh; 
background-color: black; 
background-size: 100% 100%; 


}

</style>


    <body> 
        <div id="header" onclick="change_click();" style="background:black"></div>
<script type="text/javascript"> 
     
function change_click(){

    var div = document.getElementById("header"); 
    
    if(div.style.backgroundColor == "black"){ 
        div.style.backgroundColor="orange"; 
    }
	else
	{div.style.backgroundColor="black";}

    
  }


</script>


 </body>

 

komentarz 10 listopada 2017 przez DariuszH Gaduła (3,100 p.)
Dzięki ! Zamiast porównać przypisałem :) Łoł :)
komentarz 10 listopada 2017 przez Michał Nowak Początkujący (320 p.)

jeśli nie chcesz użyć stylu inline możesz użyć takiego warunku:
 

if(div.style.backgroundColor == "black" || getComputedStyle(div, null).getPropertyValue("background-color") == "rgb(0, 0, 0)")

 

komentarz 10 listopada 2017 przez DariuszH Gaduła (3,100 p.)
Chodzi o to, że się uczę Javyscriptu dopiero. Z tym paskiem to tylko ćwiczenie :)  Faktycznie, cofnąłem się do warunków if i  jest tam porównanie a nie przypisanie. Wartość może być równa, mniejsza bądź większa  :) W sumie dobrze myślałem, ale źle :) hehe

Podobne pytania

0 głosów
1 odpowiedź 199 wizyt
pytanie zadane 1 lutego 2022 w JavaScript przez sk1neq Nowicjusz (120 p.)
0 głosów
3 odpowiedzi 851 wizyt
pytanie zadane 29 czerwca 2015 w HTML i CSS przez Mavimix Dyskutant (8,390 p.)
0 głosów
2 odpowiedzi 228 wizyt

92,555 zapytań

141,402 odpowiedzi

319,540 komentarzy

61,938 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!

...