2017-05-04 13 views
0

私はレジュームサイトを作成していますが、時刻によっては挨拶(見出しとして)を表示するページが読み込まれるときに読み込む関数を作成しようとしています。ここで私は(あなたが給与計算の一部を無視することができます)、これまで持っているものです:私は、ページをロードする際JavascriptとDOM - 日付と時刻

<body onload = "onLoad()"> 
     <div id="fulldiv"> 
    <p> Enter the following information to find out if the potential salary is too little, almost enough, or a good salary.</p> 

    <p>Hourly Wage: 
    <input type="text" name="wage" id="txt_wage" value ="0.00"/></p> 

    <p>Hours Per Week: 
    <input type="text" name="hours" id="txt_hours" value= "0.0"/> <br/><br/> 

    <button value="calculate" onclick="calcSalary(); validateForm(); validateFormH()">Calculate</button></p> 

    <p id="results"></p> 
    <p id="resultstext"></p> 

    <script src="salaryExternal.js" type="text/javascript"></script> 

    <script type="text/javascript"> 
    function onLoad() { 
     var d = new Date(); 
     var z = d.getHours(); 
     var greeting; 
     if (z < 12) { 
      greeting = "Enjoy the rest of your morning!" 
     } else if (z < 17) { 
      greeting = "Enjoy the afternoon!" 
     } else { 
      greeting = "Have a good evening!" 
     } 
     } 
     var firstVariable = document.createElement("h1"); 
     var secondVariable = document.createTextNode(d); 
     firstVariable.appendChild(secondVariable); 
     document.getElementById("fulldiv").appendChild(firstVariable); 
    </script> 


      </div> 

何も現れていません。私はここからどこに行くべきか分からない。どんな助けでも大歓迎です。

+0

挨拶では何もしません。視覚的な要素に入れる必要があります。ちょうどそのJavaScript変数です。 –

+0

私はあなたが言っていることを理解していると思います。これを行う方法を教えていただけますか? –

+0

'document.getElementById( 'results')のようなものです。textContent = greeting;'。またその答えに@zepplinが書いた点にも注意してください。 –

答えて

0

あなたはテキストノード値としてgreeting変数を設定し、次のようにonLoad目的球内のHTML要素の作成コードを移動する必要がある -

<body onload="onLoad()"> 
<div id="fulldiv"> 
    <p> Enter the following information to find out if the potential salary is too little, almost enough, or a good salary.</p> 
    <p>Hourly Wage: 
     <input type="text" name="wage" id="txt_wage" value="0.00" /> 
    </p> 
    <p>Hours Per Week: 
     <input type="text" name="hours" id="txt_hours" value="0.0" /> 
     <br/> 
     <br/> 
     <button value="calculate" onclick="calcSalary(); validateForm(); validateFormH()">Calculate</button> 
    </p> 
    <p id="results"></p> 
    <p id="resultstext"></p> 
</div> 

<script src="salaryExternal.js" type="text/javascript"></script> 
<script type="text/javascript"> 
function onLoad() { 
    var d = new Date(); 
    var z = d.getHours(); 
    var greeting; 
    if (z < 12) { 
     greeting = "Enjoy the rest of your morning!" 
    } else if (z < 17) { 
     greeting = "Enjoy the afternoon!" 
    } else { 
     greeting = "Have a good evening!" 
    } 
    var firstVariable = document.createElement("h1"); 
    var secondVariable = document.createTextNode(greeting); 
    firstVariable.appendChild(secondVariable); 
    document.getElementById("fulldiv").appendChild(firstVariable); 
} 
</script> 
+0

ありがとうございました! –

+0

ようこそ!あなたが質問を解決した場合は、アップアップして回答を受け入れてください。 –

0

あなたのコードの最後の数行がonLoad関数の外で定義されています。

function onLoad() { 
... 
} 
var firstVariable = document.createElement("h1"); 
var secondVariable = document.createTextNode(d); 
firstVariable.appendChild(secondVariable); 
document.getElementById("fulldiv").appendChild(firstVariable); 

これは、期待どおりに動作しない理由です。

関連する問題