• 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 ?

VPS Starter Arubacloud
0 głosów
545 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ź 197 wizyt
pytanie zadane 1 lutego 2022 w JavaScript przez sk1neq Nowicjusz (120 p.)
0 głosów
3 odpowiedzi 842 wizyt
pytanie zadane 29 czerwca 2015 w HTML i CSS przez Mavimix Dyskutant (8,390 p.)
0 głosów
2 odpowiedzi 223 wizyt

92,452 zapytań

141,262 odpowiedzi

319,085 komentarzy

61,854 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

Akademia Sekuraka 2024 zapewnia dostęp do minimum 15 szkoleń online z bezpieczeństwa IT oraz dostęp także do materiałów z edycji Sekurak Academy z roku 2023!

Przy zakupie możecie skorzystać z kodu: pasja-akademia - użyjcie go w koszyku, a uzyskacie rabat -30% na bilety w wersji "Standard"! Więcej informacji na temat akademii 2024 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!

...