2014-12-04 53 views
-4

我有一個隨機DIV的腳本,但不能在Internet Explorer中工作。在IE中不工作的隨機div

這是一種使它在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/

+2

「不工作」 是腹肌。無意義的。 – 2014-12-04 19:14:50

+0

你需要澄清「不工作」以及其他細節 - 什麼不工作 - 你得到一個錯誤?它會崩潰IE嗎?您使用的是哪個版本的IE?你有沒有試過通過它進行調試,看看有什麼問題?你認爲問題是什麼? – Krease 2014-12-04 19:29:24

+0

這種排序方法在IE中不起作用,它不對彩色塊進行排序。我認爲這就是他的意思... – Banana 2014-12-04 19:30:48

回答

1

如果你需要的是一個隨機排序,那麼你不需要的代碼牆。只需使用以下行:

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

就會有確切的效果相同,返回-1到1之間的隨機浮點排序功能甚而不要求它是一個整數,只是負/零/負。

Fixed Fiddle(在IE11作品)