发新贴  快速回复

关于for循环实现左边的问题

xiaojiayu
2017-02-15 21:54
本想写一个五行十列的坐标,但是不知道这么写,为啥出不来,漏洞在哪里,(本人已经通过dom操作写出来了,只是想问问我上面写的代码,它的思维漏洞在哪里),上传了图片,请大神指点一二
 
buhaoyisi
你可以用取模(%)写哦。方便点
2017-02-16 22:06  回复本帖
讲师-kimoo
同学你好~

如果是5行10列的话

left 值可以考虑使用取模(%) 来 设置,

    i一直增加,从0-50,

    (i%10) 的结果会是0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9......

top值可以使用向下取整的方式设置,

      i一直增加,从0-50,
      Math.floor( i/10 )   相当于i/10之后的商直接向下取整,效果是 在0-9个,会得到0,在10-19个,会得到1,在20-29个,会得到2...
2017-02-17 11:10  回复本帖
yuanls
同学您好,你的思维漏洞出现在,你的判断条件上,if(j<10)没问题,但是你写的else if是有问题的,应该分别改为else if(j<20),else if(j<30),else if(j<40)就可以了。
2017-02-17 11:37  回复本帖
xiaojiayu

讲师-kimoo 2017-02-17 11:10发表的内容:

同学你好~

如果是5行10列的话

left 值可以考虑使用取模(%) 来 设置,

    i一直增加,从0-50,

    (i%10) 的结果会是0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9......

top值可以使用向下取整的方式设置,

      i一直增加,从0-50,
      Math.floor( i/10 )   相当于i/10之后的商直接向下取整,效果是 在0-9个,会得到0,在10-19个,会得到1,在20-29个,会得到2...
知道了谢谢
2017-02-20 10:02  回复本帖
xiaojiayu

讲师-kimoo 2017-02-17 11:10发表的内容:

同学你好~

如果是5行10列的话

left 值可以考虑使用取模(%) 来 设置,

    i一直增加,从0-50,

    (i%10) 的结果会是0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9......

top值可以使用向下取整的方式设置,

      i一直增加,从0-50,
      Math.floor( i/10 )   相当于i/10之后的商直接向下取整,效果是 在0-9个,会得到0,在10-19个,会得到1,在20-29个,会得到2...
这个方法,我也是最近刚看到的,谢谢了
2017-02-20 10:12  回复本帖
xiaojiayu

buhaoyisi 2017-02-16 22:06发表的内容:

你可以用取模(%)写哦。方便点
知道了
2017-02-20 10:16  回复本帖
xiaojiayu

yuanls 2017-02-17 11:37发表的内容:

同学您好,你的思维漏洞出现在,你的判断条件上,if(j<10)没问题,但是你写的else if是有问题的,应该分别改为else if(j<20),else if(j<30),else if(j<40)就可以了。
按照你说的方式我改了一下,确实是这样,但是我还是不知道错在哪里了,希望你再说的再详细点,谢谢了
2017-02-20 10:18  回复本帖
yuanls

yuanls 2017-02-17 11:37发表的内容:

同学您好,你的思维漏洞出现在,你的判断条件上,if(j<10)没问题,但是你写的else if是有问题的,应该分别改为else if(j<20),else if(j<30),else if(j<40)就可以了。
因为之前已经设置了j<10,那否则如果只需告诉程序,j<20,j<30,j<40即可。这样程序在执行的时候,小于10的走第一条,在10与20之间的走第二条,以此类推即可。出现问题后,你可以console.log(j),会发现j的值出现了问题。
2017-02-20 12:08  回复本帖
登录 后才可以发表回复