2016-12-11 14 views
1

私はMeteorとNode.jsを初めて使用しています。Javascript関数が呼び出されましたが、結果が完全に返されません

私はスクリプトを書いており、将来+30分の時間をこの形式で返します:11.12.16 20:05しかし、私の機能を実行しようとすると、何も起きていないようだし、コンソールやサーバーから。

<body> 

    <header>DPPZ</header> 

    {{> price24}} 
    {{> price32}} 

    <div id="newWindow" style="display: none;"> 
     <p id="time"></p> 
    </div> 

</body> 

<template name="price24"> 
    <div class="container24"> 
     <button id="container24" onclick="ticket24()">24Kč</button> 
     <p>(30 minut)</p> 
    </div> 
</template> 

<template name="price32"> 
    <div class="container32"> 
     <button id="container32" onclick="ticket32()">32Kč</button> 
     <p>(90 minut)</p> 
    </div> 
</template> 
ここ

である私のJS:

function ticket24(){ 
    document.getElementById("newWindow").style.display = "block"; 

    var d = new Date(); 
    var den = d.getDate(); 
    var mesic = d.getMonth(); 
    var rok = d.getFullYear(); 
    var hodina = d.getUTCHours(); 
    var minuta = d.getUTCMinutes(); 

    switch(mesic){ 
     case(0): 
      mesic = 1; 
     case(1): 
      mesic = 2; 
     case(2): 
      mesic = 3; 
     case(3): 
      mesic = 4; 
     case(4): 
      mesic = 5; 
     case(5): 
      mesic = 6; 
     case(6): 
      mesic = 7; 
     case(7): 
      mesic = 8; 
     case(8): 
      mesic = 9; 
     case(9): 
      mesic = 10; 
     case(10): 
      mesic = 11; 
     case(11): 
      mesic = 12; 
    } 

    function novaMinuta(hodiny, minuty){ 
     switch(minuta){ 
      case(0): 
       minuta = "00"; 
      case(1): 
       minuta = "01"; 
      case(2): 
       minuta = "02"; 
      case(3): 
       minuta = "03"; 
      case(4): 
       minuta = "04"; 
      case(5): 
       minuta = "05"; 
      case(6): 
       minuta = "06"; 
      case(7): 
       minuta = "07"; 
      case(8): 
       minuta = "08"; 
      case(9): 
       minuta = "09"; 
      default: 
       minuta = minuta; 
     } 

     if (10 <= Number(minuta) >= 29){ 
      return Number(hodina + 1)+ ":" + Number(minuta) + 30; 
     } 
     else if (Number(minuta) == 30){ 
      return Number(hodina + 2) + ":" + "00"; 
     } 
     else if (Number(minuta) > 30){ 
      return Number(hodina + 2) + ":" + Number(minuta) - 30; 
     } 
    } 
    rok = rok.toString().replace("20", ""); 


    document.getElementById("time").innerHTML = den + "." + mesic + "." + rok + 
    " " + novaMinuta(hodina, minuta); 

    document.getElementById("newWindow").style.display = "block"; 


} 

document.getElementById("newWindow").style.display = "block";作品が、コード 'プリント' 何の残り

は、これは私のhtmlです。

+1

'10 <=番号(ミヌタ(minuta))> = 29'は動作しません。 'Number(minuta)'は両側で共有されません。代わりに、 '(10 <= Number(minuta))> = 29'と解釈されます。つまり、' true> = 29'または 'false> = 29'を意味します。 '10 <= Number(minuta)&& Number(minuta)> = 29 'でなければなりません。 –

答えて

1

あなたは、各caseためbreakを忘れてしまった:あなたは、おそらく期待しているよう

switch(mesic){ 
     case(0): 
      mesic = 1; 
      break; 
     case(1): 
      mesic = 2; 
      break; 
     ... 
関連する問題