配列からテキストをランダム化する次のコードがあります。
ただし、次のことを行う方法がわかりません。
- onclick ではなくブラウザのロード時に結果を表示します。
- ロード時に出力をdiv CLASSに表示します(したがって、「出力」と呼ばれる複数のdivがある場合、ランダムなフォント/サイズ/ウェイトが各divに表示されます)
- フォント名などを使用する代わりに、各 div 要素からフォントを取得し、クラスなどを変更する必要があります。
- 配列内のフォント名を使用する代わりに、各変数をクラスにポイントするにはどうすればよいですか? .font1 {font-family:Verdana, Geneva, sans-serif;} .font2 {font-family:Georgia, "Times New Roman", Times, serif;} .font3 {font-family:"Trebuchet MS", Arial, Helvetica, sans-serif;} .font4 {font-family:"Times New Roman", Times, serif;} .font5 {font-family:"Comic Sans MS", cursive;} var fonts = ['.font1', '.font2', '.font3', '.font4', '.font5'];
誰かが助けてくれることを本当に願っています。
コードは次のとおりです。
<button onclick="run()">Test</button>
<div id="output"/>
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 output = document.getElementById("output");
window.run = function() {
var text = choose(sizes) + ' ' + choose(weights) + ' ' + choose(fonts);
output.innerHTML = '<div class="randomFont" style="font: ' + text + '">' + text + '</div>';
}