0

我想为字体、字体大小、字体粗细随机化三个数组。然后我需要在一个 div 中显示三个数组的结果,类名为 randomFont。所以每次我使用randomFont类时,它都会返回一个随机的字体/大小/粗细。

关于我将如何做这件事的任何想法?

假设我在每个数组中有 3 个变量。

  • 数组 1(字体)> 字体 1、字体 2、字体 3
  • 数组 2(字体粗细)> 粗体、浅色、100
  • 数组 3(字体大小)> 12px、24px、100px

然后我想要一个数组从每个数组中随机选择一个,并将输出显示在名为 randomFont 的 div> 类中。

我该怎么做?

4

3 回答 3

2

真的不需要 jQuery,但这应该可以,因为您没有提供任何我必须编写的示例代码,但这应该可以帮助您。

var item = items[Math.floor(Math.random() * items.length)];

对每个数组执行此操作。

于 2012-11-20T18:33:42.683 回答
1

您可以在http://jsfiddle.net/CrossEye/bwsvy/看到一种方法

var fonts = ['Arial', 'Helvetica', 'Georgia', 'Tahoma', 'Verdana'];
var weights = ['normal', 'bold', 'lighter'];
var sizes = ['16px', '20px', '24px', '36px', '40px'];

var choose = function(arr) {
    return arr[Math.floor(Math.random() * arr.length)];
};

// ...
var text = choose(sizes) + ' ' + choose(weights) + ' '  +  choose(fonts);
output.innerHTML = '<div class="randomFont">' + text + '</div>';
// e.g. '24px bold Tahoma'
于 2012-11-20T21:18:57.280 回答
0

目前尚不清楚随机化数组是什么意思。如果你有一个固定的值列表并且你想重新排列它们,那么你需要一个随机函数,如下所示:

var shuffle = function(arr) {
    for (var i = arr.length; i--;) {
        var j = Math.floor(Math.random() * (i + 1));
        var temp = arr[i];
        arr[i] = arr[j];
        arr[j] = temp;
    }
    return arr;
}

这可能是您正在寻找的部分答案,但我真的不清楚您的总体目标是什么。

于 2012-11-20T18:54:24.077 回答