jQuery" array"未定义返回

时间:2011-11-21 17:37:20

标签: javascript jquery

合十!

我的简单问题是$ sortedData在执行时在以下代码中未定义:

(function($) {
              $.fn.shuffle = function (){
                  var i = this.length, j, temp;
                  if ( i == 0 ) { return; }
                  while ( --i ) {
                      j = Math.floor( Math.random() * ( i + 1 ) );
                      temp = this[i];
                      this[i] = this[j];
                      this[j] = temp;
                  }
              };
            })(jQuery);

// DOMContentLoaded
            $(function() {
              // get the first collection
              var $cards = $('#cards');
              // clone cards to get a second collection
              var $data = $cards.clone();
              // call Quicksand when button clicked
              $('#shuffle').click(function(e) {
                // get all the list items
                var $filteredData = $data.find('li');
                // random sort (shuffling)
                var $sortedData = $filteredData.shuffle();
                // finally, call quicksand
                $cards.quicksand($sortedData, {
                  duration: 600,
                  easing: 'easeInOutQuad'
                });
              });

            });

如何调用它:我有一个按钮,当单击它时,执行上面的代码。

我已经检查了shuffle函数中的值,并且在调用shuffle函数之前,但是,当shuffle函数返回时,$ sortedData是未定义的。

错误可能是一个错误的错误,但是,我看不到它。

感谢您的投入!

1 个答案:

答案 0 :(得分:3)

你的“随机播放”功能不会返回任何内容,但你会像对待它一样对待它。它似乎在原地洗牌。