-1

示されているコードの目的は、時間までにリマインダーを追加することです。ケースは、曜日が異なり、その日の特定の時間です。奇妙なことに、いくつかのステートメントはほとんど機能していませんが、何がコードを壊しているのかわかりません:

    function refreshTime() {
  var now = getTime();
  $('#date').html(now.day + ', ' + now.date + '. ' + now.month);
  $('#time').html("<span class='hour'>" + now.hour + "</span>" + "<span class='minute'>" + now.minute + "</span>" + "<span class='second'>" + now.second + "</span>");
  if (now.day != "Sonntag" && now.day != "Samstag")
    {
    if (now.hour == "9" && now.minute >= "50")
      {
      var left = "60" - now.minute;
      $('#gh').html("<span class='gh_remind'>Grosshandel einstellen in " + left + " Minuten!</span>");
      }
    if (now.hour == '11' && now.minute >= '50')
      {
      var left = '60' - now.minute;
      $('#gh').html("<span class='gh_remind'>Grosshandel einstellen in " + left + " Minuten!</span>");
      } 
    if (now.hour == '14' && now.minute >= '50')
      {
      var left = '60' - now.minute;
      $('#gh').html("<span class='gh_remind'>Grosshandel einstellen in " + left + " Minuten!</span>");
      }
    if (now.hour == "17" && now.minute >= "50")
      {
      var left = "60" - now.minute;
      $('#gh').html("<span class='gh_remind'>Grosshandel einstellen in " + left + " Minuten!</span>");
      }
     else
     {
     $('#gh').html("");
     }      
    }
  if (now.day == "Samstag")
    {
    if (now.hour == "9" && now.minute >= "50")
      {
      var left = "60" - now.minute;
      $('#gh').html("<span class='gh_remind'>Grosshandel einstellen in " + left + " Minuten!</span>");
      }
    if (now.hour == "12" && now.minute >= "50")
      {
      var left = "60" - now.minute;
      $('#gh').html("<span class='gh_remind'>Grosshandel einstellen in " + left + " Minuten!</span>");
      } 
    if (now.hour == "13" && now.minute >= "50")
      {
      var left = "60" - now.minute;
      $('#gh').html("<span class='gh_remind'>Grosshandel einstellen in " + left + " Minuten!</span>");
      }     
    else
     {
     $('#gh').html("");
     }         
    }

}

ご協力いただきありがとうございます!

4

2 に答える 2

2

文字列は数値ではありません。実際に文字列にしたい場合を除いて、数値を引用符で囲まないでください。

> console.log("1">"50")
  false
> console.log("9">"50")
  true
于 2012-11-19T13:58:44.610 に答える
2

このことを考慮:

var a = 'a', b;
if (a == 'a') {
  b = 'right';
}
if (a == 'c') {
  b = 'wrong';
}
else {
  b = 'FOOBAR!';
}
alert(b);

あなたは(おそらく)その構造の最後に値bを保存することを期待していますが、それは驚きです、驚きです!-代わりに含まれます。その理由は、すべての がこのように記述されている場合、それらは互いに独立しているためです。最初のものは文字列を変数に割り当てますが、2番目のものはブランチを経由して、喜んでそれを(いくつかのfoobarに)再割り当てします。'right'ifFOOBARif'right'belse

のチェーンを作成する場合は、代わりに次の構文をif使用します。if - else if - else

var a = 'a', b;
if (a == 'a') {
  b = 'right';
}
else if (a == 'c') {
  b = 'wrong';
}
else {
  b = 'FOOBAR!';
}
alert(b);

これでそのことがわかりますよrightね?)

于 2012-11-19T14:05:20.797 に答える