Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 15.07.2017, 19:16
Аспирант
Отправить личное сообщение для artem55555p Посмотреть профиль Найти все сообщения от artem55555p
 
Регистрация: 16.04.2016
Сообщений: 74

Нужен совет профессионалов.
Здравствуйте. Хотел спросить Вашего совета и критики.
Вот сайт:
http://www.artem55555p.ru/ru/buy/index

В полях я сделал калькулятор
http://clip2net.com/s/3Ma9kAi
поле BTC не в счет.
вот код:
$(".pole_one").keyup(function() {
		var usd =  $('#usd').text();
		var eur =  $('#eur').text();
		var rub =  $('#rub').text();
		var pole_one = $(".pole_one").val();
		var pole_three = $(".pole_three").val();
		if(pole_three == 'USD'){
			var res = parseFloat(pole_one) * parseFloat(usd);
			if(res > 0) {
				$(".pole_two").val(res);
			}
		}
		if(pole_three == 'EUR'){
			var res2 = parseFloat(pole_one) * parseFloat(eur);
			if(res2 > 0) {
				$(".pole_two").val(res2);
			}
		}
		if(pole_three == 'RUB'){
			var res3 = parseFloat(pole_one) * parseFloat(rub);
			if(res3 > 0) {
				$(".pole_two").val(res3);
			}
		}
	});

	$(".pole_two").keyup(function() {
		var usd =  $('#usd').text();
		var eur =  $('#eur').text();
		var rub =  $('#rub').text();
		var pole_one = $(".pole_one").val();
		var pole_two = $(".pole_two").val();
		var pole_three = $(".pole_three").val();
		if(pole_three == 'USD'){
			var res = parseFloat(pole_two) / parseFloat(usd);
			if(res > 0) {
				$(".pole_one").val(res);
			}
		}
		if(pole_three == 'EUR'){
			var res2 = parseFloat(pole_two) / parseFloat(eur);
			if(res2 > 0) {
				$(".pole_one").val(res2);
			}
		}
		if(pole_three == 'RUB'){
			var res3 = parseFloat(pole_two) / parseFloat(rub);
			if(res3 > 0) {
				$(".pole_one").val(res3);
			}
		}
	});
	
	$(".pole_three").change(function() {
		var usd =  $('#usd').text();
		var eur =  $('#eur').text();
		var rub =  $('#rub').text();
		var pole_one = $(".pole_one").val();
		var pole_three = $(".pole_three").val();
		if(pole_three == 'USD'){
			var res = parseFloat(pole_one) * parseFloat(usd);
			if(res > 0) {
				$(".pole_two").val(res);
			}
		}
		if(pole_three == 'EUR'){
			var res2 = parseFloat(pole_one) * parseFloat(eur);
			if(res2 > 0) {
				$(".pole_two").val(res2);
			}
		}
		if(pole_three == 'RUB'){
			var res3 = parseFloat(pole_one) * parseFloat(rub);
			if(res3 > 0) {
				$(".pole_two").val(res3);
			}
		}
	});


код очень большой. вы можете подсказать, как сделать короче, лучше. и вообще, хороший это вариант или нет?
п.с. js и jquery только учу. Заранее спасибо.
Ответить с цитированием
  #2 (permalink)  
Старый 15.07.2017, 22:12
Аватар для j0hnik
Профессор
Отправить личное сообщение для j0hnik Посмотреть профиль Найти все сообщения от j0hnik
 
Регистрация: 01.12.2016
Сообщений: 3,650

вот это ты наворочил

<html>
<head>
</head>
<body>
<input type="number" min="0" id="one">
<input type="number" min="0" id="who">
<select id="three">
	<option value="2190.94">USD 2190.94</option>
	<option value="121712.36">RUB 121712.36</option>
	<option value="1828.38951">EUR 1828.38951</option>
</select>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
	<script>
		var one = $('#one');
		var who = $('#who');
		var three = $('#three');

		one.on('input', function() {
			who.val(one.val()*three.val());
		});
		who.on('input', function() {
			one.val(who.val()/three.val());
		});
		three.on('change', function() {
			who.val(one.val()*three.val());
		});
</script>	
</body>
</html>

Последний раз редактировалось j0hnik, 16.07.2017 в 02:49.
Ответить с цитированием
  #3 (permalink)  
Старый 15.07.2017, 22:32
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,105

j0hnik,
может change в строке 20? или нет такого браузера?
Ответить с цитированием
  #4 (permalink)  
Старый 15.07.2017, 22:40
Аватар для j0hnik
Профессор
Отправить личное сообщение для j0hnik Посмотреть профиль Найти все сообщения от j0hnik
 
Регистрация: 01.12.2016
Сообщений: 3,650

Сообщение от рони Посмотреть сообщение
j0hnik,
может change в строке 20? или нет такого браузера?
пусть будет, в IE не пашет наверное input
Ответить с цитированием
  #5 (permalink)  
Старый 16.07.2017, 08:18
Аспирант
Отправить личное сообщение для artem55555p Посмотреть профиль Найти все сообщения от artem55555p
 
Регистрация: 16.04.2016
Сообщений: 74

Спасибо
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Мой первый скрипт. Нужен совет! ArtemBielykh Элементы интерфейса 2 20.01.2017 22:26
Нужен дельный совет по анимации. vovk_a jQuery 4 31.10.2016 15:53
Вопрос по прогрессбару. Нужен совет espltd AJAX и COMET 0 21.10.2016 11:03
Выделение активного пункта меню. Нужен совет! kirian222 Элементы интерфейса 14 17.10.2013 02:50