javascript - 我正在努力争取那一天 - Javascript

标签 javascript html if-statement

我有一个脚本可以找到那天、日期和年份。 但是两天它应该在当天下面说“我关闭”...... 这两天是“Søndag”和“Onsdag” 我试图做一个 if 语句,但它似乎不起作用:(

HTML

<!DOCTYPE html>
<html lang="en" dir="ltr">
  <head>
    <meta charset="utf-8">
    <title>JS - Testing</title>
  </head>
  <body>
    <b id="calendar-day"></b> -
    <b id="calendar-date"></b>
    <b id="calendar-month-year"></b>
    <p></p>
  </body>
  <script src="main.js"></script>
</html>

JS

//function that gets the day and date
function calendar() {
    var day = ['Søndag', 'Mandag','Tirsdag','Onsdag','Torsdag','Fredag','Lørdag'];
    var month = ['Januar','Febuar','Marts','April','Maj','Juni','Juli','August','September','Oktober','November','December'];
    var d = new Date();
    setText('calendar-day', day[d.getDay()]);
    setText('calendar-date', d.getDate());
    setText('calendar-month-year', month[d.getMonth()]+' '+(1900+d.getYear()));
    checkDay();
};

//function that sees if it's closing day
var paragraph = document.querySelector('p');

function checkDay() {
  if (day == 'Onsdag') {
    paragraph.innerText = 'I am closed';
  }
}

function setText(id, val){
    if(val < 10){
        val = '0' + val;    //add leading 0 if val < 10
    }
    document.getElementById(id).innerHTML = val;
};

window.onload = calendar;

最佳答案

可能您正在尝试这样做。您不能直接将 day 访问到 checkDay 函数中,而是需要将其作为参数传递,然后再传递。其次,你不能直接从 day 中提取一个值,因为它是一个数组,不是整数或字符串,所以你需要遍历数组才能找到正确的值

function calendar() {
    var day = ['Søndag', 'Mandag','Tirsdag','Onsdag','Torsdag','Fredag','Lørdag'];
    var month = ['Januar','Febuar','Marts','April','Maj','Juni','Juli','August','September','Oktober','November','December'];
    var d = new Date();
    var today = day[d.getDay()];
    setText('calendar-day', today);
    setText('calendar-date', d.getDate());
    setText('calendar-month-year', month[d.getMonth()]+' '+(1900+d.getYear()));
    checkDay(today);
};

//function that sees if it's closing day
var paragraph = document.querySelector('p');

function checkDay(day) {
  if (day == 'Onsdag' || day == 'Søndag') {
      paragraph.innerText = 'I am closed';
    } else paragraph.innerText = 'I am opened';
 
}

function setText(id, val){
    if(val < 10){
        val = '0' + val;    //add leading 0 if val < 10
    }
    document.getElementById(id).innerHTML = val;
};

window.onload = calendar;
<!DOCTYPE html>
<html lang="en" dir="ltr">
  <head>
    <meta charset="utf-8">
    <title>JS - Testing</title>
  </head>
  <body>
    <b id="calendar-day"></b> -
    <b id="calendar-date"></b>
    <b id="calendar-month-year"></b>
    <p></p>
  </body>
  <script src="main.js"></script>
</html>

关于javascript - 我正在努力争取那一天 - Javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52402933/

相关文章:

javascript - 尝试测试输入更改方法,但似乎不起作用

mysql - MySQL 事务和变量的问题

javascript - 自定义组合框设计到 php 网站

javascript - 使用 jQuery 渐进式显示

javascript - 如果再次单击按钮,如何将动画返回到原始状态?

jquery - 页面一部分的 html2canvas 屏幕截图

java - 如何缩短井字游戏中的 if 语句以检查行等?

java - 无法检查字符串值

JavaScript Tic Tac Toe - 查找数组中所有可能的数字组合

javascript - Angular - 将 Jackson 输出转换为 JSON