Search code examples
javascriptjqueryif-statementconditional-statements

Alternative for multiple if statements


My code contains a lot of multiple if statements. Is there any other way to get rid of these statements. For example suppose I have the following conditions

if(t1 >= 1 && t2 == 0 && t3 == 0) $('div.b_class').fadeIn();
if(t1 == 0 && t2 >= 1 && t3 == 0) $('div.c_class').fadeIn();
if(t1 == 0 && t2 == 0 && t3 == 1) $('div.d_class').fadeIn();
if(t1 && t2 >= 1 && t3 == 0) $('div.b_class.c_class').fadeIn();
if(t1 && t3 >= 1&& t2 == 0) $('div.b_class.d_class').fadeIn();

Is there any way to simplify these statements?


Solution

  • You could use a switch case structure with conditions inside like this :

    switch(true)
    {
     case (t1 >= 1 && t2 == 0 && t3 == 0) : $('div.b_class').fadeIn(); break;
     case (t1 == 0 && t2 >= 1 && t3 == 0) : $('div.c_class').fadeIn(); break;
     case (t1 == 0 && t2 == 0 && t3 == 1) : $('div.d_class').fadeIn(); break;
     case (t1 && t2 >= 1 && t3 == 0)      : $('div.b_class.c_class').fadeIn(); break;
     case (t1 && t3 >= 1&& t2 == 0)       : $('div.b_class.d_class').fadeIn(); break;
    }