1

CSS でボディの背景色を変更するために使用する JavaScript 関数からの戻り値にアクセスしようとしています。

これを適切に行う方法がよくわかりません。これが私がやろうとしていたことですが、それほど単純ではないと思います...

<script>
function changeColor(){
    var randomColorHex;
    randomColorHex ='#'+ (Math.random()*0xFFFFFF<<0).toString(16);
    return randomColorHex;
}
</script>

<body style="background-color:<script>changeColor()</script>"

すべての助けに感謝します。

4

4 に答える 4

4

そのように設定してください...

document.body.style.backgroundColor = changeColor();

次に、関数の名前を に変更することをお勧めしますgetRandomColor()

また、一般的に、HTML でのインライン スタイルは避けたいと考えています。

于 2013-07-31T02:08:22.953 に答える
0

現在の関数を使用し、javascript を使用してこれを本文に追加します。通常、インライン スタイルはベスト プラクティスではありません :)

アレックスが指摘したように、関数の名前をもう少し便利なものに変更します。

document.body.style.backgroundColor = randomColor();

デモ: http://jsfiddle.net/shannonhochkins/L3D2R/

お役に立てれば!

于 2013-07-31T02:10:07.477 に答える
0

JavaScript 関数の結果をスタイル内に挿入することはできません。HTML/CSS/JS はそのようには動作しません。でも....

個人的には、jQuery (jquery.com) などのスクリプト ライブラリを使用することをお勧めします。ページに jQuery スクリプトを含めます (他のスクリプトの前に)。次のようなスクリプトを使用します。

function changeColor(element) {
    var randomColorHex;
    randomColorHex ='#'+ (Math.random()*0xFFFFFF<<0).toString(16);
    // element, by here is a jQuery object, the .css() method allows
    // us to change styles on html elements
    element.css("background-color", randomColorHex);
}

// we put a function inside the $ function (the jQuery function)
// jQuery calls the function when the page is ready to process elements in the DOM
$(function() {
  // call your function - here we pass a jQuery object, it select the "body" element
  // HOWEVER, you can put any CSS selector in the *$* function here and have it process
  // those elements
  changeColor($("body"));
});

これは単なる例ですが、jQuery の威力を示しています

于 2013-07-31T02:15:11.540 に答える