发现一个bug

来源:3-3 排序当前展现海报

RoughSurfaceBC

2015-06-04 20:42

这个随机数的算法有问题。ceil是舍去小数部分,若range为[0,6]。这时Math.random()*diff + min的值为小于1的浮点数,用ceil取整为1。图片index最小为0。而number的值永远不会为0;

写回答 关注

4回答

  • BCS
    2016-04-25 15:15:17
    已采纳

    貌似结果 应该是这样的吧   random( [-1,data.length-1] )   

    小王子抓猫咪

    -1,data.length-1 这样写也是不对的,你多试试就会发下在chrome下会出现 -0 而不是 0

    2016-05-21 16:27:35

    共 2 条回复 >

  • 小鱼儿会飞
    2017-07-21 12:10:31

    Math.floor(Math.random()*(max-min)+min);//向下取整

    rsort([0,data.length]);

    可以取得min值,取不到max值;

    Math.ceil(Math.random()*(max-min)+min);//向上取整

    rsort([0,data.length]);

    可以取得max值,取不到min值;


  • 追觅梦初的国度
    2016-09-30 18:03:55

    向下取整就可以啦!!!要不然的话得不到0的。

  • Charless
    2016-03-03 16:50:04

    但是number的值永远不会为0不影响实现效果,排序的时候应该data.length-1,20张图片的话index最大为19。rsort( random([0,data.length-1]) );

CSS3+JS 实现超炫的散列画廊特效

实现更自由的切换照片的画廊效果,打造超酷的切换动画

46090 学习 · 215 问题

查看课程

相似问题