0

Why the background color doesn't change to green?

var id;
id = setInterval(changeColor, 1000);

function changeColor(){
  var elem= $("#target");         

  var color = elem.css('background-color');
  if (color == 'rgb(255,0,0)')
    elem.css('background-color','green');
  else
    elem.css('background-color', 'red');
}
Yusef Maali
  • 2,201
  • 2
  • 23
  • 29
Eby
  • 93
  • 5

2 Answers2

0

Try this:

var id;
id = setInterval(changeColor, 1000);

function changeColor(){
  var elem= $("#target");         

  var color = elem.css('background-color');
  if (color == 'rgb(255, 0, 0)')
    elem.css('background-color','green');
  else
    elem.css('background-color', 'red');
}

the if statement was checking a wrong condition: 'rgb(255,0,0)' vs 'rgb(255, 0, 0)'

Yusef Maali
  • 2,201
  • 2
  • 23
  • 29
-1

Try to check rgba instead of rgb.

<html>

<head>
    <title>Change Color</title>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>

    <script>
       function changeColor(){
            var elem= $("#target");         
        
            var color = elem.css('background-color');
            
            if (color == 'rgba(0, 0, 0, 0)')
                elem.css('background-color','green');
            else
                elem.css('background-color', 'red');
           
        }

        $(document).ready(function () {
            var id;
            id = setInterval(changeColor, 1000);
        });
    </script>
</head>

<body>
   <div id="target">Welcome to JavaScript!!!</div>
    <!--.div-row -->


</body>
prathameshk73
  • 1,048
  • 1
  • 5
  • 16