2017-03-05 2 views
-7

私はこのコードをウェブサイト上に見つけました。 と私はその機能が何であるか知りたいと思います。 私はPHP、HTML、CSS、JavaScriptを知っていますが、 ですが、JQUERYとAJAXはまだ学習されていません。この機能は何をしますか?

$('#onehour_next').css('backgroundColor', colors[(hours == 23 ? 0 : hours+1)]);

function doStuff() 
     {  
      current = new Date(); 
      hours = current.getHours(); 
      minutes = 59 - current.getMinutes(); 
      seconds = 59 - current.getSeconds(); 

      onehour.innerHTML = prettyTime(0, minutes, seconds); 

      if (colors.length === 0 || current.getSeconds() === 0) 
       init(); 

      $('#onehour').css('backgroundColor', colors[hours]); 
      $('#onehour_next').css('backgroundColor', colors[(hours == 23 ? 0 : hours+1)]); 

      setTimeout(doStuff, 1000); 
     } 
+0

'colors'配列が見えます再。この関数の 'colors'配列に追加/前置されるものはありません。 – Sam

+4

''しかし、私はJQUERYとAJAXを学んだことはありません " - ここには最小のjQueryがあり、AJAXはありません。 ''色配列に物を入れるために従うルーチンを知る必要がある」 - このコードは '' colors''に何も入れません。その変数は他の場所で定義されています。あなたはこのコードについて正確に何を求めていますか?そして、あなたがこのコードをデバッグするとき、それはあなたが期待しているものとどこで違うのですか? – David

+0

皆さんはコード全体を見る必要がありますか? –

答えて

0

コード毎時間ごとに異なる色を設定している:私は特にそれがランダムである、またはそれはパターンが持たない、彼らは色の配列にものを置くために従うルーチンを知っておく必要があります当時の。

配列colorsはこのコードでは定義されていませんが、おそらくリストには24種類の色が含まれています。リストの最初の色は午後11時から11時59分まで使用され、真夜中には2番目の色が使用され、24番目の色が午後10時から10時59分まで使用されるまで続きます。


コードがどのように機能するかを説明するには、各小セグメントを見る必要があります。

  • hours == 23が求めている「日現在、23の時間?(すなわち午後11時)である」
  • 0がちょうど数ゼロ
  • hour + 1では、その日の現在の時間より1高くなっています。
  • question ? answer1 : answer2基本的にはそう(hours == 23 ? 0 : hours+1)、本質的に「日の次の時間までに現在の時間を丸める」という意味となります
  • 「ANSWER2を使用し、問題がtrueの場合は、その後、ANSWER1を使用しています。それが偽の場合」と言います0〜23の値
  • colors[n]は、「リストの色でn番目の値を見つける」という意味です。 0は最初の項目、1は2番目の項目などであることに注意してください。
  • $('#onehour_next')
  • onehour_next
  • .css
  • 'backgroundColor'はそれが
  • だから、その要素の背景の色値を設定していることを意味次の2つの値に基づいて、その要素のCSSを設定したIDを持つHTML要素を探します私たちは、要素の背景色として設定されますcolors[(hours == 23 ? 0 : hours+1)]からもらったonehour_nextそれは、この関数の外のどこかに作成され、それだけで彼を使用しているよう
関連する問題