Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/476.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何用算法给桌子中央的圆上色?_Javascript_Jquery_Html_Algorithm_Math - Fatal编程技术网

Javascript 如何用算法给桌子中央的圆上色?

Javascript 如何用算法给桌子中央的圆上色?,javascript,jquery,html,algorithm,math,Javascript,Jquery,Html,Algorithm,Math,我有一张桌子,我想在中间画一个圆圈 圆的大小应取决于数组的大小 我已经给轴I和j的直径上色了,但是我卡住了 那么如何完成这一轮呢 演示: 当前JavaScript: var X = 20; var X2 = X/2; var X22 = X2/2; for (i=0; i<=X; i++) { $('table').append('<tr>'); for (j=0; j<=X; j++) ((i==X2 && j>

我有一张桌子,我想在中间画一个圆圈

圆的大小应取决于数组的大小

我已经给轴I和j的直径上色了,但是我卡住了

那么如何完成这一轮呢

演示:

当前JavaScript:

var X = 20;
var X2 = X/2;
var X22 = X2/2;

for (i=0; i<=X; i++) {
    $('table').append('<tr>');

    for (j=0; j<=X; j++)
        ((i==X2 && j>=X22 && j<=X2+X22) ||
            (j==X2 && i>=X22 && i<=X2+X22)) ?
                        $('tr:last').append('<td class="x"></td>') : 
                            $('tr:last').append('<td></td>');

    $('table').append('</tr>'); 
}
var X = 20;
var X2 = X / 2;
var X22 = X2 / 2;

for (i = 0; i <= X; i++) {
    $('table').append('<tr>');
    for (j = 0; j <= X; j++) {
        ((i == X2 && j >= X22 && j <= X2 + X22) 
          || (j == X2 && i >= X22 && i <= X2 + X22) 
          || (Math.abs(i - X2) + Math.abs(j - X2) <= X22))

           ? $('tr:last').append('<td class="x"></td>') : $('tr:last').append('<td></td>');
          }
       }
    $('table').append('</tr>');
var X=20;
var X2=X/2;
变量X22=X2/2;
对于(i=0;i
var X=20;
var X2=X/2;
变量X22=X2/2;

对于(i=0;我不认为:
$('table').append('');
做你所期望的。阅读append和DOM是如何工作的。
Math.PI
Math.sin
是你的朋友。如果你想让它看起来像一个圆而不是一个圆。(我想我今天学了一个新单词!)MattiVirkkunen是对的。您考虑的是附加标记(开始/结束标记)。这不是DOM操作的工作方式。您只能创建/附加整个元素,然后在其中插入内容。因此
.append(“”)
创建整个元素,在标记中将其表示为开始和结束标记。jQuery使用
这一事实让人们感到困惑。如果他们不这样做会更好。在幕后,它正在做
document.createElement('tr');
,这更清楚。因为第一个
.append('')
正在创建表行,然后在循环中执行DOM选择以选择最后一行,并附加新创建的
td
元素,因此是的,表正在成功创建。就是这个
$('table')。附加(“”)
引发了Matti的评论。很难说它会做什么,但它肯定是无效的。我