Перенести переменную из одной функции в другую
Не выходит перенести переменную из одной функции в другую. Другого пути пока не нашел.
Нужно из первой функции во вторую перенести переменную percent. Заранее спасибо.
<body>
Количество монет: <input id="gold" type="text" value="100000">
<br/>
<br/>
Сумма(в рублях):
<input id="result" value="367.5" type="text">
<script>
var input = document.getElementById('gold');
var input2 = document.getElementById('result');
input.oninput = function () {
var percent = ((input.value*3.5)/1000/100*5);
input2.value = (input.value*3.5)/1000 + percent;
};
input2.oninput = function() {
input.value = (input2.value/3.5)*1000;
};
</script>
</body>
|
EWB,
обьявить percent вне функций? |
Таки да ))) Что-то я из ума выжил ))
|
Хотя нет, тогда вычисления идут неправильные, ежели делаю так:
Мб я где-то с записью намудрил? Т.к. мне нужно чтобы процент рассчитывался от текущего числа в инпуте, а не от стандарта.
<body>
Количество монет: <input id="gold" type="text" value="100000">
<br/>
<br/>
Сумма(в рублях):
<input id="result" value="367.5" type="text">
<script>
var input = document.getElementById('gold');
var input2 = document.getElementById('result');
var percent = ((input.value*3.5)/1000/100*5);
input.oninput = function () {
input2.value = (input.value*3.5)/1000 + percent;
};
input2.oninput = function() {
input.value = ((input2.value-percent)/3.5)*1000;
};
</script>
</body>
|
EWB,
алгоритм какой подсчёта? |
Берем данные что вводят в поле gold и транслируем их измененные в поле result. Все это происходит на лету. Т.е. пишем и в момент написания оно там подсчитывает и меняет все. С передачей из gold в result проблем нет. Но вот при обратной работе, когда передаем из result в gold то есть сложность, т.к. не получается поработать с процентом. Т.е. если в первом случае мы например написал 100 000
То рассчет такой: (100 000*3.5)/1000 + percent; Где persent это: ((100 000*3.5)/1000/100*5); Это мы передали из gold в result (в коде это первая функция) Проблемы со второй, т.к. я туда не могу актуальный persent перенести. Ведь по нашей формуле от 100 000 persent это 17,5 (т.к. 100 000 в стандарте идет в value), и если этот persent вне функции первой, то туда не заходят измененные данные. Скажем, мы поставили 80 000, а persent если вне функции все равно идет от 100 000. |
EWB,
![]() :-?
<!DOCTYPE HTML>
<html>
<head>
<title>Untitled</title>
<meta charset="utf-8">
</head>
<body>
Количество монет: <input id="gold" type="text" value="100000">
<br/>
<br/>
Сумма(в рублях):
<input id="result" value="367.5" type="text">
<script>
var input = document.getElementById('gold');
var input2 = document.getElementById('result');
input.oninput = function() {
input2.value = (3.5 * input.value / 1000 + 3.5 * input.value / 1000 / 100 * 5).toFixed(2)
}
input2.oninput = function() {
input.value = (input2.value / (3.5 / 1000 + 3.5 / 1000 / 100 * 5)).toFixed(0);
};
</script>
</body>
</html>
|
Большое спасибо, а что значит "toFixed"?
|
|
| Часовой пояс GMT +3, время: 13:12. |