Перенести переменную из одной функции в другую
Не выходит перенести переменную из одной функции в другую. Другого пути пока не нашел.
Нужно из первой функции во вторую перенести переменную 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, время: 20:42. |