Mir-knigi.online
Книги онлайн читать бесплатно!
  • Главная
  • Жанры
  • ТОП книг
  • ТОП авторов
  • Контакты

JavaScript. Подробное руководство, 6-е издание

Часть 12 из 535 Информация о книге

<b>      // Отобразить полученную HTML-строку в элементе,</b>

<b>      // ссылка на который была получена выше. </b>

<b>      ad.innerHTML = &quot;&lt;ul&gt;&quot; + list + &quot;&lt;/ul&gt;&quot;;</b>

<b>    }</b>

<b>  }</b>

<b>}</b>

<b>// График помесячного изменения остатка по кредиту, а также графики сумм,</b>

<b>// выплачиваемых в погашение кредита и по процентам в HTML-элементе &lt;canvas&gt;.</b>

<b>// Если вызывается без аргументов, просто очищает ранее нарисованные графики, </b>

<b>function chart(principal, interest, monthly, payments) {</b>

<b>  var graph = document.getElementById(&quot;graph&quot;); // Ссылка на тег &lt;canvas&gt;</b>

<b>  graph.width = graph.width; // Магия очистки элемента canvas</b>

<b>  // Если функция вызвана без аргументов или броузер не поддерживает </b>

<b>  // элемент &lt;canvas&gt;, то просто вернуть управление, </b>

<b>  if (arguments.length == 0 || !graph.getContext) return;</b>

<b>  // Получить объект &quot;контекста&quot; для элемента &lt;canvas&gt;,</b>

<b>  // который определяет набор методов рисования</b>

<b>  var g = graph.getContext(&quot;2d&quot;); // Рисование выполняется с помощью этого объекта </b>

<b>  var width = graph.width, height = graph.height; // Получить размер холста</b>

<b>  // Следующие функции преобразуют количество месячных платежей </b>

<b>  // и денежные суммы в пикселы</b>

<b>  function paymentToX(n) { return n * width/payments; }</b>

<b>  function amountToY(a) { return height-(a*height/(monthly*payments*1.05));} </b>

<b>  // Платежи - прямая линия из точки (0,0) в точку (payments,monthly*payments)</b>

<b>  g.moveTo(paymentToX(0), amountToY(0)); // Из нижнего левого угла</b>

<b>  g.lineTo(paymentToX(payments),         // В правый верхний</b>

<b>     amountToY(monthly*payments)); </b>

<b>  g.lineTo(paymentToX(payments), amountToY(0)); // В правый нижний </b>

<b>  g.closePath();                         // И обратно в начало </b>

<b>  g.fillStyle = &quot;#f88&quot;;                  // Светло-красный </b>

<b>  g.fill();                              // Залить треугольник </b>

<b>  g.font = &quot;bold 12px sans-serif&quot;;       // Определить шрифт </b>

<b>  g.fillText(&quot;Total Interest Payments&quot;, 20,20); // Вывести текст в легенде</b>

<b>  // Кривая накопленной суммы погашения кредита не является линейной </b>

<b>  // и вывод ее реализуется немного сложнее</b>

<b>  var equity = 0;</b>

<b>  g.beginPath(); // Новая фигура</b>

<b>  g.moveTo(paymentToX(0), amountToY(O)); // из левого нижнего угла</b>

<b>  for(var р = 1; р &lt;= payments; р++) {</b>

<b>    // Для каждого платежа выяснить долю выплат по процентам</b>

<b>    var thisMonthsInterest = (principal-equity)*interest;</b>

<b>    equity += (monthly - thisMonthsInterest);  // Остаток - погашение кред.</b>

<b>    g.lineTo(paymentToX(p),amountToY(equity)); // Линию до этой точки</b>

<b>  }</b>

<b>  g.lineTo(paymentToX(payments), amountToY(O)); // Линию до оси X</b>

<b>  g.closePath();                                // И опять в нач. точку </b>

<b>  g.fillStyle = &quot;green&quot;;                        // Зеленый цвет </b>

<b>  g.fill();                                     // Залить обл. под кривой </b>

<b>  g.fillText(&quot;Total Equity&quot;, 20,35);            // Надпись зеленым цветом</b>

<b>  // Повторить цикл, как выше, но нарисовать график остатка по кредиту</b>

<b>  var bal = principal; </b>

<b>  g.beginPath();</b>

<b>  g.moveTo(paymentToX(O),amountToY(bal)); </b>

<b>  for(var p = 1; p &lt;= payments; p++) {</b>

<b>    var thisMonthsInterest = bal*interest;</b>

<b>    bal -= (monthly - thisMonthsInterest) //Остаток от погаш. по кредиту</b>

<b>    g.lineTo(paymentToX(p),amountToY(bal)); // Линию до этой точки</b>

<b>  }</b>

<b>  g.LineWidth = 3;     //Жирная линия</b>

<b>  g.stroke;            //Нарисовать кривую графика </b>

<b>  g.fillStle=&quot;black&quot;;  //Черный цвет для текста </b>

<b>  g.fillText(&quot;Loan Balabce&quot;, 20, 50); //Элемент легенды</b>


Перейти к странице:
Предыдущая страница
Следующая страница
Жанры
  • Военное дело
  • Деловая литература
  • Детективы и триллеры
  • Детские
  • Детские книги
  • Документальная литература
  • Дом и дача
  • Дом и Семья
  • Жанр не определен
  • Зарубежная литература
  • Знания и навыки
  • История
  • Компьютеры и Интернет
  • Легкое чтение
  • Любовные романы
  • Научно-образовательная
  • Образование
  • Поэзия и драматургия
  • Приключения
  • Проза
  • Прочее
  • Психология и мотивация
  • Публицистика и периодические издания
  • Религия и духовность
  • Родителям
  • Серьезное чтение
  • Спорт, здоровье и красота
  • Справочная литература
  • Старинная литература
  • Техника
  • Фантастика и фентези
  • Фольклор
  • Хобби и досуг
  • Юмор
Mir-knigi.online

Бесплатная онлайн библиотека для чтения книг без регистрации с телефона или компьютера. У нас собраны последние новинки, мировые бестселлеры книжного мира.

Контакты
  • [email protected]
Информация
  • Карта сайта
© mir-knigi.online, 2026. | Вход