0

最近、html と CSS を使用して独自のカレンダーを作成しました。カレンダーでドロップダウン リストから日と月を選択できるようにしたいので、日付を選択すると、その日に焦点が当てられ、色が変わります。

私はJavascriptでいくつかのコーディングを行いましたが、問題はJavascriptで多くの行が必要なことです.誰もが簡単な方法を知っていますか?

JS コード:

        function selectDay() {
            var day = document.getElementById("day");
            var month = document.getElementById("month");
             var type = document.getElementById("type");
            var selectedValueday = day.options[day.selectedIndex].value;
            var selectedValuemonth = month.options[month.selectedIndex].value;
            var selectedValuetype = type.options[type.selectedIndex].value;


            if ((selectedValueday === "01") && (selectedValuemonth === "01") && (selectedValuetype === "01")) {
                document.getElementById('jan1').style.backgroundColor = 'purple';
            } else if((selectedValueday === "01") && (selectedValuemonth === "01") && (selectedValuetype === "02")){
                document.getElementById('jan1').style.backgroundColor = 'yellow';
            }else{
                document.getElementById('jan1').style.backgroundColor = 'white';
            }
          if ((selectedValueday === "02") && (selectedValuemonth === "01") && (selectedValuetype === "01")) {
                document.getElementById('jan2').style.backgroundColor = 'purple';
            } else if((selectedValueday === "02") && (selectedValuemonth === "01") && (selectedValuetype === "02")){
                document.getElementById('jan2').style.backgroundColor = 'yellow';
            }else{
                document.getElementById('jan2').style.backgroundColor = 'white';
            }
        }

HTML コード:

<select id="day">
        <option>Kies een dag</option>
        <option value="01">01</option>
        <option value="02">02</option>
        <option value="03">03</option>
        <option value="04">04</option>
        <option value="05">05</option>
        <option value="06">06</option>
        <option value="07">07</option>
        <option value="08">08</option>
        <option value="09">09</option>
        <option value="10">10</option>
        <option value="11">11</option>
        <option value="12">12</option>
        <option value="13">13</option>
        <option value="14">14</option>
        <option value="15">15</option>
        <option value="16">16</option>
        <option value="17">17</option>
        <option value="18">18</option>
        <option value="19">19</option>
        <option value="20">20</option>
        <option value="21">21</option>
        <option value="22">22</option>
        <option value="23">23</option>
        <option value="24">24</option>
        <option value="25">25</option>
        <option value="26">26</option>
        <option value="27">27</option>
        <option value="28">28</option>
        <option value="29">29</option>
        <option value="30">30</option>
        <option value="31">31</option>
    </select>
    <select id="month">
        <option>Kies een maand</option>
        <option value="01">01</option>
        <option value="02">02</option>
        <option value="03">03</option>
        <option value="04">04</option>
        <option value="05">05</option>
        <option value="06">06</option>
        <option value="07">07</option>
        <option value="08">08</option>
        <option value="09">09</option>
        <option value="10">10</option>
        <option value="11">11</option>
        <option value="12">12</option>
    </select>
    <select id="type">
        <option>Kies een type</option>
        <option value="01">Feestdag</option>
        <option value="02">Verjaardag</option>
    </select>

    <button onclick="selectDay();">Zoek</button>

        <h1 align='center'>Jaarkalender 2013</h1>
        <table align='center' width = '1600'  border = '0'>
            <tr>
                <td ALIGN="center"><B>Januari</B>
                    <table  height = '175' border = '0'>
                        <tr>
                            <TD bgcolor='B9B1B1'><b><b>Maandag</b></b><FONT COLOR="B9B1B1">.</FONT></TD>
                            <TD bgcolor='B9B1B1'><b>Dinsdag</b> <FONT COLOR="B9B1B1">.</FONT></TD>        
                            <TD bgcolor='B9B1B1'><b>Woensdag</b> <FONT COLOR="B9B1B1">.</FONT></TD>
                            <TD bgcolor='B9B1B1'><b>Donderdag</b> <FONT COLOR="B9B1B1">.</FONT></TD>
                            <TD bgcolor='B9B1B1'><b>Vrijdag</b> <FONT COLOR="B9B1B1">.</FONT></TD>
                            <TD bgcolor='B9B1B1'><b>Zaterdag</b> <FONT COLOR="B9B1B1">.</FONT></TD>
                            <TD bgcolor='B9B1B1'><b>Zondag</b> <FONT COLOR="B9B1B1">.</FONT></TD>
                        </tr>
                        <TR>
                            <TD><font color="#888888">30</font></TD>
                            <TD id="jan1" title = 'Nieuwjaar'><font color = '#FF0000'><B>1</B></TD>
                            <TD id="jan2">2</TD>
                            <TD>3</TD>
                            <TD>4</TD>
                            <TD bgcolor='#00FFFF'>5</TD>
                            <TD bgcolor='#00FFFF'>6</TD>
                        </TR>
                        <TR>
                            <TD>7</TD>
                            <TD>8</TD>
                            <TD>9</TD>
                            <TD>10</TD>
                            <TD>11</TD>
                            <TD bgcolor='#00FFFF'>12</TD>
                            <TD bgcolor='#00FFFF'>13</TD>
                        </TR>
                        <TR>
                            <TD>14</TD>
                            <TD>15</TD>
                            <TD>16</TD>
                            <TD>17</TD>
                            <TD>18</TD>
                            <TD bgcolor='#00FFFF'>19</TD>
                            <TD bgcolor='#00FFFF'>20</TD>
                        </TR>
                        <TR>
                            <TD>21</TD>
                            <TD>22</TD>
                            <TD>23</TD>
                            <TD>24</TD>
                            <TD>25</TD>
                            <TD bgcolor='#00FFFF'>26</TD>
                            <TD bgcolor='#00FFFF'>27</TD>
                        </TR>
                        <TR>
                            <TD>28</TD>
                            <TD>29</TD>
                            <TD>30</TD>
                            <TD>31</TD>
                            <TD><font color="#888888">1</font></TD>
                            <TD bgcolor='#00FFFF'><font color="#888888">2</font></TD>
                            <TD bgcolor='#00FFFF'><font color="#888888">3</font></TD>
                        </TR>
                        <TR>
                            <TD></TD>
                            <TD></TD>
                            <TD></TD>
                            <TD></TD>
                            <TD></TD>
                            <TD  bgcolor='#00FFFF'></TD>
                            <TD  bgcolor='#00FFFF'></TD>
                        </TR>
                    </table>
                </TD>

                <td ALIGN="center"><B>Februari</B>
                    <table border = '0' height = '175'>
                        <tr>
                            <TD bgcolor='B9B1B1'><b><b>Maandag</b></b> <FONT COLOR="B9B1B1">.</FONT></TD>
                            <TD bgcolor='B9B1B1'><b>Dinsdag</b> <FONT COLOR="B9B1B1">.</FONT></TD>        
                            <TD bgcolor='B9B1B1'><b>Woensdag</b> <FONT COLOR="B9B1B1">.</FONT></TD>
                            <TD bgcolor='B9B1B1'><b>Donderdag</b> <FONT COLOR="B9B1B1">.</FONT></TD>
                            <TD bgcolor='B9B1B1'><b>Vrijdag</b> <FONT COLOR="B9B1B1">.</FONT></TD>
                            <TD bgcolor='B9B1B1'><b>Zaterdag</b> <FONT COLOR="B9B1B1">.</FONT></TD>
                            <TD bgcolor='B9B1B1'><b>Zondag</b> <FONT COLOR="B9B1B1">.</FONT></TD>
                        </tr>
                        <TR>
                            <TD><font color="#888888">28</font></TD>
                            <TD><font color="#888888">29</font></TD>
                            <TD><font color="#888888">30</font></TD>
                            <TD><font color="#888888">31</font></TD>
                            <TD>1</TD>
                            <TD bgcolor='#00FFFF'>2</TD>
                            <TD bgcolor='#00FFFF'>3</TD>
                        </TR>
                        <TR>
                            <TD>4</TD>
                            <TD>5</TD>
                            <TD>6</TD>
                            <TD>7</TD>
                            <TD>8</TD>
                            <TD bgcolor='#00FFFF'>9</TD>
                            <TD bgcolor='#00FFFF'>10</TD>
                        </TR>
                        <TR>
                            <TD>11</TD>
                            <TD>12</TD>
                            <TD>13</TD>
                            <TD>14</TD>
                            <TD>15</TD>
                            <TD bgcolor='#00FFFF'>16</TD>
                            <TD bgcolor='#00FFFF'>17</TD>
                        </TR>
                        <TR>
                            <TD>18</TD>
                            <TD>19</TD>
                            <TD>20</TD>
                            <TD>21</TD>
                            <TD>22</TD>
                            <TD bgcolor='#00FFFF'>23</TD>
                            <TD bgcolor='#00FFFF'>24</TD>
                        </TR>
                        <TR>
                            <TD>25</TD>
                            <TD>26</TD>
                            <TD>27</TD>
                            <TD>28</TD>
                            <TD><font color="#888888">1</font></TD>
                            <TD bgcolor='#00FFFF'><font color="#888888">2</font></TD>
                            <TD bgcolor='#00FFFF'><font color="#888888">3</font></TD>
                        </TR>
                    </table>
                </TD>  
        </table>

CSS コード:

        table{

            left: -200px;
            border-collapse:collapse;
            border:1px solid black;
        }
4

1 に答える 1

0

表の各セル (日付のみを表すセル) に個別の ID を指定します。数値で始めることはできないため、m、月の番号、d、日の番号を使用することをお勧めします。たとえば、2 月 5 日の場合は id='m2d5' とします。

次に、各 SELECT 要素の値を使用して ID を作成し、次を使用できます。

 var dayid = "m"+month.value+"d"+day.value;
 document.getElementById('dayid').className = 'lit'

1 つのセルのみを強調表示する場合は、最後に点灯したセルの ID を追跡するか、次のようなものを使用する必要があります。

var reset = document.getElementsByClassName("lit");
while (reset.length) { reset[0].className = "normal"; }

点灯しているものを見つけてリセットするには..

于 2013-11-12T13:12:49.863 に答える