【问题标题】:How to use buttons to change style of javascript code?如何使用按钮更改 javascript 代码的样式?
【发布时间】:2020-04-01 11:06:38
【问题描述】:

在我们被要求为 12 月创建日历并使用变量的前几天,当前日期将用颜色显示。工作日会有不同的颜色。但是,我正在努力创建按钮,该按钮将在当天之后的第二天更改为具有与使用 CSS 更改字体或颜色不同的样式。以及一个按钮,它将更改当天的星期以具有与当前星期后一天不同的样式。 代码如下:

<!DOCTYPE html>
<html lang="en-us">
<head>
    <title>22plazaa-Unit 3 Day 7</title>
    <meta charset="UTF-8">
    <style>
        * {font-family: "Times New Roman", sans-serif;}
        table, th, td {
            border: 3px solid pink;
            border-collapse: collapse;
        }
        table {
            margin:auto;
        }
        td {
            width: 10%;
            padding: 20px;
            font-size: 24pt;
            text-align: center;
        }
        h1 {text-align: center}

        #empty {background-color:azure}
    </style>
</head>
<body>
    <h1>Unit 3 Day 7</h1>
    <table>
        <tr>
            <th id="sun">Sunday</th>
            <th id="mon">Monday</th>
            <th id="tue">Tuesday</th>
            <th id="wed">Wednesday</th>
            <th id="thu">Thursday</th>
            <th id="fri">Friday</th>
            <th id="sat">Saturday</th>
        </tr>
        <tr>
            <td id="d1">1</td>
            <td id="d2">2</td>
            <td id="d3">3</td>
            <td id="d4">4</td>
            <td id="d5">5</td>
            <td id="d6">6</td>
            <td id="d7">7</td>
        </tr>
        <tr>
            <td id="d8">8</td>
            <td id="d9">9</td>
            <td id="d10">10</td>
            <td id="d11">11</td>
            <td id="d12">12</td>
            <td id="d13">13</td>
            <td id="d14">14</td>
        </tr>
        <tr>
            <td id="d15">15</td>
            <td id="d16">16</td>
            <td id="d17">17</td>
            <td id="d18">18</td>
            <td id="d19">19</td>
            <td id="d20">20</td>
            <td id="d21">21</td>
        </tr>
        <tr>
            <td id="d22">22</td>
            <td id="d23">23</td>
            <td id="d24">24</td>
            <td id="d25">25</td>
            <td id="d26">26</td>
            <td id="d27">27</td>
            <td id="d28">28</td>
        </tr>
        <tr>
            <td id="d29">29</td>
            <td id="d30">30</td>
            <td id="d31">31</td>
            <td id="end" colspan="4"></td>
        </tr>
    </table>
    <script>
        var today = new Date(); 
        switch (today.getDay()) {
            case 0:
                document.getElementById("sun").style.backgroundColor = "lightblue";
                break;
            case 1:
                document.getElementById("mon").style.backgroundColor = "lightblue";
                break;
            case 2:
                document.getElementById("tue").style.backgroundColor = "lightblue";
                break;
            case 3:
                document.getElementById("wed").style.backgroundColor = "lightblue";
                break;
            case 4:
                document.getElementById("thu").style.backgroundColor = "lightblue";
                break;
            case 5:
                document.getElementById("fri").style.backgroundColor = "lightblue";
                break;
            case 6:
                document.getElementById("sat").style.backgroundColor = "lightblue";
                break;
        }
       var date = document.getElementById("d" + today.getDate());
        date.style.color = "white";
        date.style.backgroundColor = "salmon";


    </script>
</body>
</html>

【问题讨论】:

  • 我没听懂,但让我告诉你我的理解是,你需要一个可以更改日期的按钮(如果今天是 8,点击后应该转到 9)对吗?那么另一种情况是,你怎么知道什么时候跳到另一个星期?

标签: javascript button calendar styles


【解决方案1】:

答案是每次调用click事件时简单地改变样式我做了一个代码sn-p显示运行。

我不知道你说的不同风格是什么意思尝试详细说明。

var nday = document.querySelector('.nday');
var nweek = document.querySelector('.nweek');

nday.addEventListener('click', ()=>{
  document.getElementById(Day[today.getDay()]).style.backgroundColor = "white"
  let date = document.getElementById("d" + today.getDate());
  date.style.color = "black";
  date.style.backgroundColor = "white";

  today.setDate(today.getDate() + 1)
  document.getElementById(Day[today.getDay()]).style.backgroundColor = "lightBlue"
  date = document.getElementById("d" + today.getDate());
  date.style.color = "white";
  date.style.backgroundColor = "salmon";

})



nweek.addEventListener('click', ()=>{
document.getElementById(Day[today.getDay()]).style.backgroundColor = "white"
let date = document.getElementById("d" + today.getDate());
date.style.color = "black";
date.style.backgroundColor = "white";


  today.setDate(today.getDate() + 7)
  document.getElementById(Day[today.getDay()]).style.backgroundColor = "lightBlue"
  date = document.getElementById("d" + today.getDate());
  date.style.color = "white";
  date.style.backgroundColor = "salmon";
})

var Day = ["sun", "mon", "tue","wed", "thu", "fri", "sat"]
var today = new Date();
document.getElementById(Day[today.getDay()]).style.backgroundColor = "lightBlue"


var date = document.getElementById("d" + today.getDate());
date.style.color = "white";
date.style.backgroundColor = "salmon";
* {font-family: "Times New Roman", sans-serif;}
        table, th, td {
            border: 3px solid pink;
            border-collapse: collapse;
        }
        table {
            margin:auto;
        }
        td {
            width: 10%;
            padding: 20px;
            font-size: 24pt;
            text-align: center;
        }
        h1 {text-align: center}

        #empty {background-color:azure}
<!DOCTYPE html>
<html lang="en-us">
<head>
    <title>22plazaa-Unit 3 Day 7</title>
    <meta charset="UTF-8">

</head>
<body>
    <h1>Unit 3 Day 7</h1>
    <button class = "nday">Next Day</button>
    <button class = "nweek">Next Week</button>

    <table>
        <tr>
            <th id="sun">Sunday</th>
            <th id="mon">Monday</th>
            <th id="tue">Tuesday</th>
            <th id="wed">Wednesday</th>
            <th id="thu">Thursday</th>
            <th id="fri">Friday</th>
            <th id="sat">Saturday</th>
        </tr>
        <tr>
            <td id="d1">1</td>
            <td id="d2">2</td>
            <td id="d3">3</td>
            <td id="d4">4</td>
            <td id="d5">5</td>
            <td id="d6">6</td>
            <td id="d7">7</td>
        </tr>
        <tr>
            <td id="d8">8</td>
            <td id="d9">9</td>
            <td id="d10">10</td>
            <td id="d11">11</td>
            <td id="d12">12</td>
            <td id="d13">13</td>
            <td id="d14">14</td>
        </tr>
        <tr>
            <td id="d15">15</td>
            <td id="d16">16</td>
            <td id="d17">17</td>
            <td id="d18">18</td>
            <td id="d19">19</td>
            <td id="d20">20</td>
            <td id="d21">21</td>
        </tr>
        <tr>
            <td id="d22">22</td>
            <td id="d23">23</td>
            <td id="d24">24</td>
            <td id="d25">25</td>
            <td id="d26">26</td>
            <td id="d27">27</td>
            <td id="d28">28</td>
        </tr>
        <tr>
            <td id="d29">29</td>
            <td id="d30">30</td>
            <td id="d31">31</td>
            <td id="end" colspan="4"></td>
        </tr>
    </table>
</body>
</html>

【讨论】:

  • 您好,这是正确的,但是下周的按钮实际上是指当天的一周。有办法改变吗?
  • 我还是不太明白你的意思。你能举个例子吗?
  • 比如今天是12月8日,那么按钮点击的那一周就会变成同一个样式。 9 号、10 号,以此类推,直到本周结束,也就是 14 号
  • 你可以简单地改变 nweek.addEventListener 函数来选择想要的日子并改变他们的风格
  • 我可以看看我尝试过的语法,但按钮之后停止工作吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-09-23
  • 2011-11-23
  • 2013-04-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-10-16
相关资源
最近更新 更多