javascript - 使用 `Math.PI` 如何在每个元素中设置我自己的 Angular 值?

标签 javascript arrays math

如何为元素设置值(度)数组?

每个元素都需要从数组中获取值并进行相应的排列。对我来说这不起作用。谁能告诉我正确的方法吗?

示例代码:

var items = 4;
var values = [0,15,30,45] //first should be 0, next 15deg like so..
for(var i = 0; i < items; i++) {
    var num = i;
    var x = 75 - 12 + 87 * Math.cos(values[i]);
    var y = 75 - 12 + 87 * Math.sin(values[i]); 

    $("#center").append("<div class='point' style='left:"+ x +"px;top:"+ y +"px'></div>");   
}

在某些时候,如果我需要设置 360 个元素,那么应该根据数组值进行排列。

Live demo

最佳答案

传递给 Math.sinMath.cos 的 Angular 必须以弧度为单位,而不是度数。

要转换为弧度,只需将 Angular 乘以 Math.PI/180

var values = [0,15,30,45];
for(var i = 0; i < values.length; i++) {
  $(document.createElement('div')).css({
    left: 75 - 12 + 87 * Math.cos(values[i] * Math.PI / 180),
    top: 75 - 12 + 87 * Math.sin(values[i] * Math.PI / 180)
  }).addClass('point').appendTo("#center");    
}
.point {
  position: absolute;
  border: 5px solid;
  border-radius: 5px;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="center"></div>

关于javascript - 使用 `Math.PI` 如何在每个元素中设置我自己的 Angular 值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32078052/

相关文章:

javascript - 我如何使用 JQuery 在动态创建的下拉列表中删除和添加值?

javascript - 在所有浏览器中将 document.domain 设置回其原始值?

javascript - React Native - 如何从 NavigationExperimental 的 NavigationHeader 中删除 1px 导航栏细线?

javascript - 总计百分比和返回值的舍入误差

javascript - React : Updating array inside State with spread operator returns 1, 000X 超出需要的结果

javascript - 使用 jQuery 的 ajax() 函数将 javascript 数组或其值传递给 servlet 的最简单方法

javascript - 如何合并数组内重复对象的属性

java - 在 ArrayList 中查找重复值

c# - 这个 if 语句有多少种组合

java - 将java中的数学函数转换为javascript函数