随机div不在IE中工作

时间:2014-12-04 19:11:40

标签: jquery random

我有一个随机DIV的脚本,但在Internet Explorer中不起作用。

这是一种让它在IE中运行的方法吗?

    $('#all .block').each(function () {
        // get current ul
        var $ul = $(this);
        // get array of list items in current ul
        var $liArr = $ul.children('.item');
        // sort array of list items in current ul randomly
        $liArr.sort(function (a, b) {
            // Get a random number between 0 and 10
            var temp = parseInt(Math.random() * 50);
            // Get 1 or 0, whether temp is odd or even
            var isOddOrEven = temp % 2;
            // Get +1 or -1, whether temp greater or smaller than 5
            var isPosOrNeg = temp > 5 ? 1 : -1;
            // Return -1, 0, or +1
            return (isOddOrEven * isPosOrNeg);
        })
        // append list items to ul
        .appendTo($ul);
    });

示例: http://jsfiddle.net/8vtbdpmn/

1 个答案:

答案 0 :(得分:1)

如果您只需要随机排序,那么您就不需要那段代码。只需使用以下行:

return (-1 + Math.random() * 2);

它将具有完全相同的效果,在-1和1之间返回一个随机浮点数。排序函数甚至不需要它是一个整数,只是一个负数/零/正数。

Fixed Fiddle (适用于IE11)