javascript - Can't get else if condition to work with image in JS -
i trying make image appear when 3 conditions met bmw image displayed. can't seem see why else if doesn't work, maybe looked @ long. searched other way didn't find.
var name = prompt("hello there, what's name?"); var car = new array("bmw", "maserati"); var randomcar = math.floor(math.random()*car.length); var carname = car[randomcar]; if(name === "frank" || name === "chris" && carname === "bmw") { document.getelementbyid("name").innerhtml = "<h1>hello " + name + " have won " + carname + "<br><br>" + "<img src='img/bmw.jpg' alt='bmw pic' style='border-radius: 10px;'</h1>"; } else if (name === "frank" || name === "chris" && carname === "maserati") { document.getelementbyid("name").innerhtml = "<h1>hello " + name + " have won " + carname + "<br><br>" + "<img src='img/maserati.jpg' alt='maserati pic' style='border-radius: 10px;'</h1>"; } else { document.getelementbyid("name").innerhtml = "<h1>hello " + name + ", no car today !!" + "<br><br>" + "<img src='img/pitbull-sad-face.jpg' alt='dog sadface' style='width: 70%; border-radius: 20px;'</h1>"; };
the tested expression in if statement:
(name === "frank" || name === "chris" && carname === "bmw") is evaluated if written:
(name === "frank" || (name === "chris" && carname === "bmw")) that is, && part evaluated such test succeed if name "frank" or if name "chris" , car name "bmw". if name "frank", car name doesn't matter; matters when name "chris".
if want name matter, have explicitly parenthesize 2 tests name:
((name === "frank" || name === "chris") && carname === "bmw") now succeed if name either "frank" or "chris" and if car name "bmw".
Comments
Post a Comment