2016-04-01 7 views
2

Google Chromeのtheme-colorという機能を使いたかったのです。通常の構文は次のようになります。JavaScriptでhtmlタグをランダム化

<meta name="theme-color" content="#c12432"> 

しかし、私はこのコードを思いついたので、3色を使いたいと思います。私はJavaScriptの経験がないので、コードの何が問題なのか教えてください。私は何をしたいのですか?それは辛抱強く数を選び、その数字を使ってcontent = "value"を以下のように変更します。

だから、最初の文はそうのような実行時間を節約する場合は、あなたを組み合わせることができ
function colorchanger() { 
    var x = Math.floor((Math.random() * 3) + 1); 
    if (x >= 3) { 
      document.getElementByName("theme-color").content = "#c12432"; 
     } 
    if (x = 2) { 
      document.getElementByName("theme-color").content = "#338fc4"; 
     } 
    if (x = 1) { 
      document.getElementByName("theme-color").content = "#d99e33"; 
     } 
    } 
+2

[ '.setAttribute( 'コンテンツ'、 '#WHATEV')'](https://developer.mozilla.org/en/docs/Web/API/Element/setAttribute)? – Marty

+2

これは[_getElement ** s ** ByName_](https://developer.mozilla.org/en-US/docs/Web/API/Document/getElementsByName)です。 – Tushar

+0

がf12を押すと、コンソールが開きます。あなたのコンソールでは、一般的にあなたのコードが投げるものであり、あなたがそれを検出する方法であるブラウザごとに異なりますが、 "uncaught typeerror:document.getElementByNameは関数ではありません"のようなエラーを見ることができます。 – scrappedcola

答えて

1

ない何を求めていますが、PHPへのアクセス権を持っている場合、あなたが代替として使用することができます。

<?php 
randomTheme() { 
$themeColor[] = "#c12432"; // Color Name I.E. Red 
$themeColor[] = "#338fc4"; // Color Name I.E. Blue 
$themeColor[] = "#d99e33"; // Color Name I.E. Yellow 
$randomThemeColor = array_rand($themeColor); 

return $themeColor[$randomThemeColor]; 
} 
?> 

そして、あなたのメタタグに:<meta name="theme-color" content="<?php echo randomTheme(); ?>">

あなたはまた、のような関数を作ることができますだから、もっと長いバージョンが好きなので、16進数の色が何の名前なのかを知ることができます。このソリューションは数色に適していますが、最初のソリューションは大きなリストに適しています。たぶん

<?php 
    randomTheme() { 
    $themeColor = array("#c12432","#338fc4","#d99e33"); 
    $randomThemeColor = array_rand($themeColor); 

    return $themeColor[$randomThemeColor]; 
    } 
    ?> 
0

:また

if (x >= 3) { 
     document.getElementByName("theme-color").content = "#c12432"; 
    } 
else if (x == 2) { 
     document.getElementByName("theme-color").content = "#338fc4"; 
    } 
else if (x == 1) { 
     document.getElementByName("theme-color").content = "#d99e33"; 
    } 

を使用すると、1つの等号があるので、私はx == 2x == 3x = 2x = 3を変更気づいた場合は、 double equalは比較演算子です。したがって、x = 2であるかどうかを確認していると思われる場合は、xを2に設定することになります。

コメントに何が追加されているかを考慮してください。

関連する問題