Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Помогите с калькулятором (https://javascript.ru/forum/jquery/51240-pomogite-s-kalkulyatorom.html)

PoisonX 29.10.2014 21:07

Помогите с калькулятором
 
Нашел на просторах интернета калькулятор который рассчитывает кредит, в расчетных настройках есть величины: сумма кредита, процентная ставка и срок(в годах). Задача была такая - сделать расчет исходя из следующих условий:
1) Сумма кредита от 500р до 25000р;
2) Процентная ставка 2%, стоит по умолчанию и не имеет возможности изменения.
3) Срок кредитования в днях, от 1го до 10ти.
Так как в яве я совершенно профан, но поэкспериментировав добился следующего результата.
$(function () {
	$("#amount_slider").slider({ 
		orientation: "horizontal",
		range: false,
		min: 500,
		max: 25000,
		value: 10000,
		step: 500,
		slide: function (event, ui) {
			$("#amount").text(ui.value);
			calculatePayment();
		}
	});
	$("#amount").text($("#amount_slider").slider("value")); 
	$("#interest_slider").slider({
		orientation: "horizontal",
		range: false,
		value: 2,
		slide: function (event, ui) {
			$("#interest").text(ui.value);
			calculatePayment();
		}
	});
	$("#interest").text($("#interest_slider").slider("value"));
	$("#time_slider").slider({
		orientation: "horizontal",
		range: false,
		min: 1,
		max: 10,
		value: 4,
		slide: function (event, ui) {
			$("#time").text(ui.value);
			calculatePayment();
		}
	});
	$("#time").text($("#time_slider").slider("value"));

	function calculatePayment() {
		var amount = $("#amount_slider").slider("value");
		var interest = $("#interest_slider").slider("value");
		var time = $("#time_slider").slider("value");
		var rate = (amount / 100) * 2 * time + amount;
		$("#result").text(rate.toFixed(2));
		
	}
	calculatePayment();
	
	
});

<table style="width: 600px;" border="0" cellspacing="0" cellpadding="0" align="center">
<tbody>
<tr>
<td>
<div class="message">Сумма займа</div>
<div id="amount_slider"> </div>
<div id="amount" style="color: #ffffff; font-size: 18px;"> </div>
<div class="clear"> </div>
</td>
<td>
<div class="message">Срок (дней)</div>
<div id="time_slider"> </div>
<div id="time" style="color: #ffffff; font-size: 18px;"> </div>
<div class="clear"> </div>
</td>
</tr>
<tr>
<td colspan="2" align="center">
<div class="message" style="text-align: right; color: #b8e8ff; font-size: 18px;">Платеж</div>
<div id="result" style="color: #b8e8ff; font-size: 18px;"> </div>
</td>
</tr>
</tbody>
</table>


Только вот проблемка одна, ползунок ведёт себя странно - если по дефолту стоит сумма займа на 10 000руб. и срок 4 дня, расчет производится правильно и в поле платёж выводится сумма 10 800руб. Но если передвинуть ползунок на 5 дней сумма не считается, а передвинув опять на 4 производится расчет на 5 дней.
Помогите советом, думаю многим эта тема будет интересна.Сам не могу решить:( .

рони 29.10.2014 21:18

PoisonX,
обычно требуется дублировать параметр slide в change

PoisonX 29.10.2014 21:27

Цитата:

Сообщение от рони (Сообщение 338292)
PoisonX,
обычно требуется дублировать параметр slide в change

Подскажите пожалуйста поподробней:)

рони 29.10.2014 21:40

PoisonX,
строки 9-12 напишите ниже через запятую ещё раз заменив только
Цитата:

Сообщение от рони
slide в change

и так 19-22 и 31-34

PoisonX 29.10.2014 23:43

Цитата:

Сообщение от рони (Сообщение 338292)
PoisonX,
обычно требуется дублировать параметр slide в change

Цитата:

Сообщение от рони (Сообщение 338296)
PoisonX,
строки 9-12 напишите ниже через запятую ещё раз заменив только
и так 19-22 и 31-34

Большое спасибо вам!:thanks: Всё работает :dance:

рони 29.10.2014 23:46

PoisonX,
:victory:


Часовой пояс GMT +3, время: 16:01.