Javascript JQuery for循环,for向量
我试图制作一个向量计算器来练习我的jquery技能,但我遇到了一个问题。我有一个.option div,其中有力和角度的字段。如果单击#calc_v按钮,将插入另一个字段Javascript JQuery for循环,for向量,javascript,jquery,html,for-loop,Javascript,Jquery,Html,For Loop,我试图制作一个向量计算器来练习我的jquery技能,但我遇到了一个问题。我有一个.option div,其中有力和角度的字段。如果单击#calc_v按钮,将插入另一个字段 <div class="option"> <h2>Vectors</h2> <a class="close">Close X</a><br/> <div id="move">1.<input type="number" step="
<div class="option">
<h2>Vectors</h2>
<a class="close">Close X</a><br/>
<div id="move">1.<input type="number" step="0.01" id="N1"/> Newtons(or meters) à <input type="number" step="0.01" id="A1"/> Degrees
<br/></div>
<button id="calc_v">Calculer</button>
<a id="add_move">+ VECTOR</a>
<div id="log_v"></div>
载体
关闭X
1.牛顿(或米)摄氏度
计算器
+载体
以下是我的jquery代码:
<script>
//vectors
var vector = 1;
$("#add_move").click(function () {
vector++;
$("#move").append(vector+".<input type='number' step='0.01' id='N"+vector+"'/> Newtons(ou mètres) à <input type='number' step='0.01' id='A"+vector+"'/> Degrées<br/>");
});
$("#calc_v").click(function(){
var x_v = 0;
var y_v = 0;
var ite = 0;
for(x=1; x <= vector; x++){
//for each added vector give it a var name
ite++;
var f = "#N"+ite;
var a = "#A"+ite;
//then, find its value
var force = $(f).val();
var f_val = parseFloat(force);
var angle = $(a).val();
var a_val = parseFloat(angle);
//analyse it
var cons_x = ((f_val)*(Math.cos(a_val))) * (180 / Math.PI);
var cons_y = ((f_val)*(Math.sin(a_val))) * (180 / Math.PI);
//add it to each x,y coords
x_v += cons_x;
y_v += cons_y;
}
$("#log_v").html("Coords: ("+ x_v + ","+ y_v + ") |f"+force +"|a"+ angle +"|i"+ ite+"|v"+vector);
});
//载体
var向量=1;
$(“#添加#移动”)。单击(函数(){
向量++;
$(“#move”).append(vector+”.newton(ou mètres)áDegrées
);
});
$(“#计算v”)。单击(函数(){
var x_v=0;
var y_v=0;
变量=0;
对于(x=1;x那么,你的问题是什么?更重要的是,你的问题是什么?它只返回上一次迭代的计算是的,它只打印上一次迭代的值,因为你的“日志记录”在循环之外。如果你把它放在lopp中(现在就是这样),它还将仅显示最后一个值,因为它将覆盖#log_v
的内容,覆盖速度非常快,以至于您只能看到最后一个值。此代码中有一些地方需要改进,请检查此提琴:进行了一点更新,关于日志记录: