Lemonade Stand

Starting app for the Chapter 19 project in JavaScript for Kids For Dummies by Chris Minnick and Eva Holland

by Kanatantsin

HTML

<div id="5DayWeather"></div>
<br clear="all">
<div id="orderForm">
  <div id="glasses">
    <label>How many glasses of lemonade do you want to make this week?
            <br />
            <input type="number" id="numGlasses" placeholder="hint: think big!" />
        </label>
  </div>
  <div id="price">
    <label>How much will you charge for a glass of lemonade this week?
            <br />
            <input type="number" id="glassPrice" placeholder="more than .5" />
        </label>
  </div>
  <button type="button" id="OpenTheStand">Open The Stand!</button>
</div>
<div id="result"></div>

CSS

#Monday,
#Tuesday,
#Wednesday,
#Thursday,
#Friday {
  width: 18%;
  height: 200px;
  float: left;
  border: 1px solid black;
  padding: 2px;
  font-family: sans-serif;
  font-size: 12px;
}

.Sunny {
  background-color: skyblue;
}

.Raining {
  background-color: lightgrey;
}

.Cloudy {
  background-color: #eee;
}

.Thunderstorm {
  background-color: #333;
  color: #fff;
}

#orderForm {
  width: 75%;
  margin: 20px auto;
}

#receipt {
  background-color: #996600;
  color: yellow;
  padding: 6px;
}

JavaScript

var days = ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday"];

var weather = ["Sunny", "Partly Sunny", "Partly Cloudy", "Cloudy", "Raining", "Snowing", "Thunderstorm", "Foggy"];

var maxTemp = 100;
var minTemp = 0;

var lemonadeCost = 0.5;

var dailyTemp = [];

/**
Генерация погодных условий для рабочей недели
**/

function generateWeather() {
  var weatherToday;
  var tempToday;

  for (var i = 0; i < days.length; i++) {
    weatherToday = weather[Math.floor(Math.random() * weather.length)];
    tempToday = Math.floor(Math.random() * (maxTemp - minTemp) + minTemp);
    document.getElementById("5DayWeather").innerHTML += "<div id='" + days[i] + "' class='" + weatherToday + "'><b>Forecast for " + days[i] + ":</b><br><br>" + weatherToday + " and " + tempToday + " degrees.</div>";
  }
}

generateWeather();

/**
Вычисление объемов продаж
**/

function openTheStand() {
  var glassesSold = 0; //ежедневно
  var totalGlasses = 0; //за неделю
  var glassesLeft = 0; //остаток

  //Очистка предыдущих результатов

  resetForm();

  //Получение данных
  var numGlasses = Number(document.getElementById("numGlasses").value);
  var glassPrice = Number(document.getElementById("glassPrice").value);

  for (var i = 0; i < days.length; i++) {
    //Объем продаж в зависимости от температуры и цены
    glassesSold = Math.floor(dailyTemp[i] / glassPrice);
    //Количество порций непроданного лимонада
    glassesLeft = numGlasses - totalGlasses;
    //Нельзя продать больше, чем имеется на складе
    if (glassesSold > glassesLeft) {
      glassesSold = glassesLeft;
    }
    //Прибавление проданного за день к недельному объему
    totalGlasses = glassesSold + totalGlasses;

    //Отображение объема продаж за неделю
    document.getElementById("result").innerHTML += "<p>" + days[i] + ", you sold " + glassessold + " glasses of lemonade.</p>";
  }
  displayResults(numGlasses, glassPrice, totalGlasses);
}

function resetForm() {
  document.getElemtntById("result").innerHTML =...