Próbuję zrobić prosty kalkulator chwilówki za pomocą slajdów z zakresu jQuery. Mam min: 500 USD i maksimum: 5000 USD. Jak mogę wyświetlić wyciąg, gdy użytkownik przekroczy 2000 USD, a następnie wyświetlam „Dostępne tylko dla stałych klientów”
A więc w zasadzie: A. Jeśli kwota pożyczki <= 2000, brak komunikatu ostrzegawczego B. Jeśli kwota pożyczki od> 2000 do <= 5000 i okres wynosi 3 lub 5 miesięcy, wyświetl komunikat ostrzegawczy na CZERWONO jako i. Ta kwota pożyczki jest dostępna tylko dla stałych klientów ii. Ten okres (termin) jest dostępny tylko dla stałych klientów.
$( document ).ready(function() {
function update() {
$interest = 0.3 ;
$perday = 15 ;
$amount1 = $("#amount").val();
$dayscount = $("#days").val();
$amount2 = parseInt($amount1) + $interest * parseInt($amount1) + (parseInt($dayscount) * ($perday/100));
$apr = (($amount2-$amount1 / $amount1 ) / ((parseInt($dayscount)/365) * 10000)) ;
$("#amount2").val($amount2);
$("#amount3").val(parseFloat($amount2-$amount1).toFixed(2));
$("#amount4").val($apr);
}
debugger;
$("#slider1").slider({
max:5000,
min:500,
step:10,
slide: function(event, ui) {
$("#amount").val(ui.value);
update();
},
change: function (event, ui) {
if (ui.value == 2) {
$("#mindiv").show();
} else {
$("#mindiv").hide();
}
}
});
function addDaysToDate(days) {
var mths = new Array("Jan", "Feb", "Mar",
"Apr", "May", "Jun", "Jul", "Aug", "Sep",
"Oct", "Nov", "Dec");
var d = new Date();
d.setHours(d.getHours() + (24 * days));
var currD = d.getDate();
var currM = d.getMonth();
var currY = d.getFullYear();
return mths[currM] + " " + currD + ", " + currY;
}
$("#slider2").slider({
max:30,
min:1,
slide: function(event, ui) {
$("#days").val(ui.value);
$("#date").text(addDaysToDate(parseInt($("#days").val())));
update();
},
create: function(event, ui) {
$("#date").text(addDaysToDate(parseInt($("#days").val())));
}
});
$("#days").val($("#slider2").slider("value"));
$("#days").change(function(event) {
var data = $("#days").val();
if (data.length > 0)
{
if (parseInt(data) >= 0 && parseInt(data) <= 31)
{
$("#slider2").slider("option", "value", data);
}
else
{
if (parseInt(data) < 1)
{
$("#days").val("1");
$("#slider2").slider("option", "value", "1");
}
if (parseInt(data) > 31)
{
$("#days").val("31");
$("#slider2").slider("option", "value", "31");
}
}
}
else
{
$("#slider2").slider("option", "value", "1");
}
$("#date").text(addDaysToDate(parseInt($("#days").val())));
});
update();
});
<!DOCTYPE html>
<html lang="en" >
<head>
<meta charset="UTF-8">
<title>Loan Calculator with two jquery slider inputs </title>
<link rel='stylesheet prefetch' href='https://ajax.googleapis.com/ajax/libs/jqueryui/1.12.0/themes/smoothness/jquery-ui.css'>
<link rel='stylesheet prefetch' href='https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/css/bootstrap.min.css'>
<link rel="stylesheet" href="css/style.css">
</head>
<body>
Loan Amount<div id="slider1"></div>
Your Loan <input type="text" id="amount" value="500"/><br /><br />
hhhh<div id="mindiv">asds</div>
Loan Length<div id="slider2"></div>
Days Loaned <input type="text" id="days" value="1"/><br /><br />
Repayment Date<br />
<div id="date"></div><br />
Your Loan
<input id="amount2" type="text" />
Interest
<input id="amount3" type="text" /><br />
APR
<input id="amount4" type="text" /><br />
<script src='https://ajax.googleapis.com/ajax/libs/jquery/1.12.0/jquery.min.js'></script>
<script src='https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/js/bootstrap.min.js'></script>
<script src='https://ajax.googleapis.com/ajax/libs/jqueryui/1.12.0/jquery-ui.min.js'></script>
<script src="js/index.js"></script>
</body>
</html>
1 odpowiedź
Rozważmy następujący przykładowy kod.
$(function() {
function update() {
$interest = 0.3;
$perday = 15;
$amount1 = parseInt($("#amount").val());
$dayscount = parseInt($("#days").val());
$amount2 = $amount1 + $interest * $amount1 + ($dayscount * ($perday / 100));
$apr = (($amount2 - $amount1 / $amount1) / (($dayscount / 365) * 10000));
$("#amount2").val($amount2);
$("#amount3").val(parseFloat($amount2 - $amount1).toFixed(2));
$("#amount4").val($apr);
return [$amount1, $dayscount, $amount2, parseFloat($amount2 - $amount1).toFixed(2), $apr];
}
function addDaysToDate(days) {
var d = new Date();
d.setHours(d.getHours() + (24 * days));
var cStr = $.datepicker.formatDate("M d, yy", d);
return cStr;
}
debugger;
$("#slider1").slider({
max: 5000,
min: 500,
step: 10,
slide: function(event, ui) {
$("#amount").val(ui.value);
console.log(update());
},
change: function(event, ui) {
if (ui.value >= 2000) {
$("#mindiv").show();
} else {
$("#mindiv").hide();
}
}
});
$("#slider2").slider({
max: 30,
min: 1,
slide: function(event, ui) {
$("#days").val(ui.value);
$("#date").text(addDaysToDate(parseInt($("#days").val())));
update();
},
create: function(event, ui) {
$("#date").text(addDaysToDate(parseInt($("#days").val())));
}
});
$("#days").val($("#slider2").slider("value"));
$("#days").change(function(event) {
var data = $("#days").val();
if (data.length > 0) {
if (parseInt(data) >= 0 && parseInt(data) <= 31) {
$("#slider2").slider("option", "value", data);
} else {
if (parseInt(data) < 1) {
$("#days").val("1");
$("#slider2").slider("option", "value", "1");
}
if (parseInt(data) > 31) {
$("#days").val("31");
$("#slider2").slider("option", "value", "31");
}
}
} else {
$("#slider2").slider("option", "value", "1");
}
$("#date").text(addDaysToDate(parseInt($("#days").val())));
});
update();
});
<link rel='stylesheet prefetch' href='https://ajax.googleapis.com/ajax/libs/jqueryui/1.12.0/themes/smoothness/jquery-ui.css'>
<link rel='stylesheet prefetch' href='https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/css/bootstrap.min.css'> Loan Amount
<div id="slider1"></div>
Your Loan <input type="text" id="amount" value="500" /><br /><br /> hhhh
<div id="mindiv" style="display: none; background: red;">asds</div>
Loan Length
<div id="slider2"></div>
Days Loaned <input type="text" id="days" value="1" /><br /><br /> Repayment Date<br />
<div id="date"></div><br /> Your Loan
<input id="amount2" type="text" /> Interest
<input id="amount3" type="text" /><br /> APR
<input id="amount4" type="text" /><br />
<script src='https://ajax.googleapis.com/ajax/libs/jquery/1.12.0/jquery.min.js'></script>
<script src='https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/js/bootstrap.min.js'></script>
<script src='https://ajax.googleapis.com/ajax/libs/jqueryui/1.12.0/jquery-ui.min.js'></script>
Czasami lepiej jest umieścić swoje funkcje na pierwszym miejscu. Wygląda również na to, że porównujesz z wartością, która nigdy nie została osiągnięta w Suwaku 1. Dostosowałem ją i teraz, gdy kwota przekracza 2000, wyświetla się ostrzeżenie. Zostanie wyświetlony po zwolnieniu suwaka. Jeśli chcesz, aby pojawiła się podczas czynności na slajdzie, przenieś czynności do wywołania zwrotnego slide
.
ui.value
nigdy nie będzie równe2
. Ponieważ suwak min to500
, a max5000
, najniższa wartość to tylko 500 i zawsze będzie większa niż 2. Element div nigdy nie zostanie wyświetlony.