2016-09-20 7 views
0

私は、2つの異なる営業時間のケースで夜間営業時間チェックを行うスクリプトに苦労しています。私はメッセージの時間のエントリを変更するスクリプトを書いた:開いた、すぐに開いた、すぐに閉じたなど夜間営業時間チェッカーJS

私はそれを書いたように有用であるかどうか分からない、例えば、木曜日から金曜日まで、真夜中の後に間違った開き時間を表示します。

私のスクリプト(日時)に2つの静的パラメータを書いてテストしましたが、何も動作しません!

これを有効にしてもらえますか? ありがとうございます!

<script type="text/javascript"> 
 
var date = new Date(); 
 
var day = date.getDay(); 
 
var hour = date.getHours(); 
 
    var day = 2; 
 
    var hour = 19; 
 
if (day == 0 | 1 | 2 | 3 | 4 && hour == 18 | 19 | 20 | 21 | 22 | 23 | 0 | 1 | 2) { 
 
\t var weekday = "day" + day; 
 
    var oldHTML = document.getElementById(weekday).innerHTML; 
 
    if (hour == 18 || 2) { 
 
     if (hour == 18){var newHTML = "<p><span class='label label-default'>Bald geöffnet</span></p>"; document.getElementById(weekday).innerHTML = newHTML;} 
 
\t \t if (hour == 2){var newHTML = "<p><span class='label label-default'>Bald geschlossen</span></p>"; document.getElementById(weekday).innerHTML = newHTML;} \t \t 
 
    } 
 
\t else { 
 
\t \t var newHTML = "<p><span class='label label-default'>Geöffnet</span></p>"; 
 
\t \t document.getElementById(weekday).innerHTML = newHTML; 
 
\t } \t \t 
 
} else if (day == 5 | 6 && hour == 18 | 19 | 20 | 21 | 22 | 23 | 0 | 1 | 2 | 3 | 4) { 
 
\t var weekday = "day" + day; 
 
\t var oldHTML = document.getElementById(weekday).innerHTML; 
 
    if (hour == 18 || 4) { 
 
     if (hour == 18){var newHTML = "<p><span class='label label-default'>Bald geöffnet</span></p>"; document.getElementById(weekday).innerHTML = newHTML;} 
 
\t \t if (hour == 4){var newHTML = "<p><span class='label label-default'>Bald geschlossen</span></p>"; document.getElementById(weekday).innerHTML = newHTML;} \t \t 
 
    } 
 
\t else { 
 
\t \t var newHTML = "<p><span class='label label-default'>Geöffnet</span></p>"; 
 
\t \t document.getElementById(weekday).innerHTML = newHTML; 
 
\t } 
 
} 
 
</script>
 <div class="col-md-3 col-sm-6 col-xs-12 opening_time"> 
 
      <h3>Öffnungszeiten</h3> 
 
      <ul> 
 
      <li> 
 
       <p>Montag 
 
       <time id="day1" datetime-start="19" datetime-end="3">19.00 - 03:00 Uhr</time> 
 
       </p> 
 
      </li> 
 
      <li> 
 
       <p>Dienstag 
 
       <time id="day2" datetime-start="19" datetime-end="3">19.00 - 03:00 Uhr</time> 
 
       </p> 
 
      </li> 
 
      <li> 
 
       <p>Mittwoch 
 
       <time id="day3" datetime-start="19" datetime-end="3">19.00 - 03:00 Uhr</time> 
 
       </p> 
 
      </li> 
 
      <li> 
 
       <p>Donnerstag 
 
       <time id="day4" datetime-start="19" datetime-end="3">19.00 - 03:00 Uhr</time> 
 
       </p> 
 
      </li> 
 
      <li> 
 
       <p>Freitag 
 
       <time id="day5" datetime-start="19" datetime-end="5">19.00 - 05:00 Uhr</time> 
 
       </p> 
 
      </li> 
 
      <li> 
 
       <p>Samstag 
 
       <time id="day6" datetime-start="19" datetime-end="5">19.00 - 05:00 Uhr</time> 
 
       </p> 
 
      </li> 
 
      <li> 
 
       <p>Sonn- /Feiertage 
 
       <time id="day0" datetime-start="19" datetime-end="3">19.00 - 03:00 Uhr</time> 
 
       </p> 
 
      </li> 
 
      </ul> 
 
     </div>

+0

...あなたの一晩当座の問題のために、このスニペットを使用すること自由に感じあなたの条件が間違っている、それぞれの条件にチェックし、それが適用さだどこに括弧を追加 – Li357

答えて

0

私は、コードをきれいにし、その上にいくつかの基本的なJSものをしました。

今は完璧です。

var date = new Date(); 
 
var day = date.getDay(); 
 
var hour = date.getHours(); 
 
var arrayWorkHour = [18, 19, 20, 21, 22, 23, 0, 1, 2]; 
 
var arrayWorkDay = [0, 1, 2, 3, 4]; 
 
var arrayFreeHour = [18, 19, 20, 21, 22, 23, 0, 1, 2, 3, 4]; 
 
var arrayFreeDay = [5, 6]; 
 
var soonOpen = "<p><span class='label label-default'>Bald geöffnet</span></p>"; 
 
var soonClose = "<p><span class='label label-default'>Bald geschlossen</span></p>"; 
 
var openNow = "<p><span class='label label-default'>Geöffnet</span></p>"; 
 

 
if (($.inArray(day, arrayWorkDay) !== -1) && ($.inArray(hour, arrayWorkHour) !== -1)) { 
 
    var weekday = "day" + day; 
 
    var listItem = document.getElementById(weekday); 
 
    if (hour == 18) { 
 
     listItem.innerHTML = soonOpen; 
 
    } else if (hour == 2) { 
 
     listItem.innerHTML = soonClose; 
 
    } else { 
 
    listItem.innerHTML = openNow; 
 
    } 
 
} else if (($.inArray(day, arrayFreeDay) !== -1) && ($.inArray(hour, arrayFreeHour) !== -1)) { 
 
    var weekday = "day" + day; 
 
    var listItem = document.getElementById(weekday); 
 
    if (hour == 18) { 
 
     listItem.innerHTML = soonOpen; 
 
    } else if (hour == 4) { 
 
     listItem.innerHTML = soonClose; 
 
    } else { 
 
    listItem.innerHTML = openNow; 
 
    } 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div class="col-md-3 col-sm-6 col-xs-12 opening_time"> 
 
    <h3>Öffnungszeiten</h3> 
 
    <ul> 
 
    <li> 
 
     <p>Montag 
 
     <time id="day1" datetime-start="19" datetime-end="3">19.00 - 03:00 Uhr</time> 
 
     </p> 
 
    </li> 
 
    <li> 
 
     <p>Dienstag 
 
     <time id="day2" datetime-start="19" datetime-end="3">19.00 - 03:00 Uhr</time> 
 
     </p> 
 
    </li> 
 
    <li> 
 
     <p>Mittwoch 
 
     <time id="day3" datetime-start="19" datetime-end="3">19.00 - 03:00 Uhr</time> 
 
     </p> 
 
    </li> 
 
    <li> 
 
     <p>Donnerstag 
 
     <time id="day4" datetime-start="19" datetime-end="3">19.00 - 03:00 Uhr</time> 
 
     </p> 
 
    </li> 
 
    <li> 
 
     <p>Freitag 
 
     <time id="day5" datetime-start="19" datetime-end="5">19.00 - 05:00 Uhr</time> 
 
     </p> 
 
    </li> 
 
    <li> 
 
     <p>Samstag 
 
     <time id="day6" datetime-start="19" datetime-end="5">19.00 - 05:00 Uhr</time> 
 
     </p> 
 
    </li> 
 
    <li> 
 
     <p>Sonn- /Feiertage 
 
     <time id="day0" datetime-start="19" datetime-end="3">19.00 - 03:00 Uhr</time> 
 
     </p> 
 
    </li> 
 
    </ul> 
 
</div>

関連する問題