【问题标题】:Shuffle <td>'s in a table with Javascript/jQuery使用 Javascript/jQuery 在表中随机播放 <td>
【发布时间】:2014-05-06 17:10:22
【问题描述】:

我真的很挣扎,所以也许你们中的一些人有一些漂亮的提示?

我想做的事 我想创建一个包含两列(“名称”和“评级”)的表。我有5行。

  • 这些行中的 2 行应具有 6-10 之间的随机“评级”
  • 其他 2 行应具有 1-5 之间的随机“评级”
  • 1 行(最后一行)应具有 7-10 之间的随机评分。

到目前为止没有问题:这是我的 jsFiddle 到目前为止:http://jsfiddle.net/HT89v/2/

但是: 我想对前 4 行的“评分”进行洗牌,这样前两行的“评分”并不总是很高,而第 3 和第 4 行的“评分”并不总是很低。我想随机洗牌。

第 5 行不应受到影响。 .

我试图在 jsfiddle 中实现 .shuffle 插件,但我不知道我做错了什么。

function noNorm(){  
    document.getElementById("rating4").innerHTML = [Math.floor(Math.random()*5) + 6];

    for (var i = 0; i <= 1; i++){
        document.getElementById("rating"+i).innerHTML = [Math.floor(Math.random()*5) + 6];
    };

    for (var i = 2; i <= 3; i++){
        document.getElementById("rating"+i).innerHTML = [Math.floor(Math.random()*5) + 1];
    };
};

noNorm();

jQuery(function($){
    $('#rating0', '#rating1', '#rating2', '#rating3').shuffle();
});


(function($){

    $.fn.shuffle = function() {
        return this.each(function(){
            var items = $(this).children().clone(true);
            return (items.length) ? $(this).html($.shuffle(items)) : this;
        });
    }

    $.shuffle = function(arr) {
         for(var j, x, i = arr.length; i; j = parseInt(Math.random() * i), x = arr[--i], arr[i] = arr[j], arr[j] = x);
         return arr;
    }

})(jQuery);

非常感谢!

【问题讨论】:

    标签: javascript jquery shuffle


    【解决方案1】:

    有许多使用 javascript 随机排列数组的解决方案。 如果我正确理解您的问题,这应该可以解决问题:http://jsfiddle.net/HT89v/6/

    在给ratings[4] 赋值之前,我将整个ratings[] 数组打乱,这样第5 行不受影响。

    【讨论】:

      猜你喜欢
      • 2023-01-23
      • 2013-03-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-09-09
      • 2018-11-06
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多