Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Важно. Нужен функциональный круг на JavaScript (https://javascript.ru/forum/dom-window/60831-vazhno-nuzhen-funkcionalnyjj-krug-na-javascript.html)

Rustam97 22.01.2016 14:41

Важно. Нужен функциональный круг на JavaScript
 
Есть формула расчёта....Нужно чтобы круг на Java script
<style>
.circle{
border-radius: 100%;
background: red;
width: 100px;
height: 100px;
}
</style>
<div class="circle"></div>

Был функционален...есть формула расчёта. Она снизу. Теперь сама задача, радиус круга должен братся с результата нижней формулы. Тоесть внизу результат равен 15 то радиус круга должен быть 15px
function Calc(){ 
	var a1 = document.getElementById("a1").value; //сохраняем в переменные значения полей формы
	var a2 = document.getElementById("a2").value;
	var a3 = document.getElementById("a3").value;
	var a4 = document.getElementById("a4").value;
	var a5 = document.getElementById("a5").value;
	var a6 = document.getElementById("a6").value;
	var a7 = document.getElementById("a7").value;
	var a8 = document.getElementById("a8").value;
	var a9 = document.getElementById("a9").value;
	var a10 = document.getElementById("a10").value;
	var a11 = document.getElementById("a11").value;
	var a12 = document.getElementById("a12").value;
	var a13 = document.getElementById("a13").value;
	var a14 = document.getElementById("a14").value;
	result = (a1 * a2 * a3 * Math.pow(a4,2) * a5 * a6 * Math.pow(a7,2) * a8) / (a9 * a10 * Math.pow(a11,2) * a12 * a13 * Math.pow(a14,2)); //считаем результат согласно формуле. 
	//Math.pow возводит переменную в степень 2
	document.getElementById("result").innerHTML = 'Результат: <b>' + result + '</b>'; //внутрь <div id="result"> выводим результат вычислений
	}

Буду очень очень блогодарен.

Rustam97 22.01.2016 15:28

Как привязать круг
 
Как привязать круг к данной формуле?

рони 22.01.2016 19:02

Rustam97,
наверно вас никто не понимает

DynkanMaclaud 22.01.2016 19:34

Rustam97,
function Calc(){ 
	var a1 = document.getElementById("a1").value; //сохраняем в переменные значения полей формы
	var a2 = document.getElementById("a2").value;
	var a3 = document.getElementById("a3").value;
	var a4 = document.getElementById("a4").value;
	var a5 = document.getElementById("a5").value;
	var a6 = document.getElementById("a6").value;
	var a7 = document.getElementById("a7").value;
	var a8 = document.getElementById("a8").value;
	var a9 = document.getElementById("a9").value;
	var a10 = document.getElementById("a10").value;
	var a11 = document.getElementById("a11").value;
	var a12 = document.getElementById("a12").value;
	var a13 = document.getElementById("a13").value;
	var a14 = document.getElementById("a14").value;
	result = (a1 * a2 * a3 * Math.pow(a4,2) * a5 * a6 * Math.pow(a7,2) * a8) / (a9 * a10 * Math.pow(a11,2) * a12 * a13 * Math.pow(a14,2)); //считаем результат согласно формуле. 
	//Math.pow возводит переменную в степень 2
	document.getElementById("result").innerHTML = 'Результат: <b>' + result + '</b>'; //внутрь <div id="result"> выводим результат вычислений

var getCircle = document.querySelectorAll('.circle');

for(var i=0; i<getCircle.length; i++) {


getCircle[i].style.cssText = 'width:'+result+'px;height:'+result+'px';

}

	}

DynkanMaclaud 22.01.2016 19:41

Rustam97,
Оптимизируйте свой код, зачем каждому инпуту id вешать, закиньте их в класс, проходите по классу циклом и получайте из каждого элемента значение value, затем это значение заносите в массив, а уже потом при составлении формулы получайте данные из массива как
result = (mas[0] * mas[1] * mas[2] * Math.pow(mas[3],2) * mas[4] * mas[5] * Math.pow(mas[6],2) * mas[7]) / (mas[8] * mas[9] * Math.pow(mas[10],2) * mas[11] * mas[12]* Math.pow(mas[13],2)); //считаем результат согласно формуле.

Deff 23.01.2016 03:24

В принципе, точно так же мон наращивать меременную ID

Вариант куска функции
function Calc(){
  var arr = [];

  for(var i=1;i<15;i++) arr[i] = document.getElementById("a"+i).value;

  var a = arr[1]*arr[2]*arr[3]*Math.pow(arr[4],2)*arr[5]*arr[6]*Math.pow(arr[7],2)* arr[8];

  var b = arr[9]*arr[10]*Math.pow(arr[11],2)*arr[12]*arr[13]*Math.pow(arr[14],2);

  var result = a/b;
}

Rustam97 23.01.2016 07:43

Спасибо большое) Получилось, очень вам благодарен:) .


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