我有一个随机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);
});
答案 0 :(得分:1)
如果您只需要随机排序,那么您就不需要那段代码。只需使用以下行:
return (-1 + Math.random() * 2);
它将具有完全相同的效果,在-1和1之间返回一个随机浮点数。排序函数甚至不需要它是一个整数,只是一个负数/零/正数。
Fixed Fiddle (适用于IE11)