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

0 głosów
1,048 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ź 475 wizyt
pytanie zadane 1 lutego 2022 w JavaScript przez sk1neq Nowicjusz (120 p.)
0 głosów
3 odpowiedzi 1,099 wizyt
pytanie zadane 29 czerwca 2015 w HTML i CSS przez Mavimix Dyskutant (8,490 p.)
0 głosów
2 odpowiedzi 385 wizyt

93,720 zapytań

142,641 odpowiedzi

323,265 komentarzy

63,269 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

Twierdza Linux. Bezpieczeństwo dla dociekliwych

Aby uzyskać rabat -10%, użyjcie kodu pasja-linux, wpisując go w specjalne pole w koszyku.

...