【问题标题】:Calendar, need a way to hide Sat and Sun?日历,需要隐藏周六和周日的方法吗?
【发布时间】:2014-03-03 18:26:00
【问题描述】:

我试图让我的应用程序隐藏周末,我的日历存储在一个字符串中,然后打印到 innerHTML。我将如何隐藏周六和周日。

我的日历打印如下:

星期日星期一星期二星期三星期四星期五星期六

代码:

calendarString = '';
calendarString += '<table width="100%" height="425" data-role="table" border="1" bordercolor="#c0c0c0" cellpadding="0" cellspacing="0">';
calendarString += '<tr>';
calendarString += '<td bgcolor=\"#DDDDDD\" align=\"center\" valign=\"center\" width=\"40\" height=\"22\">Sun<\/td>';
calendarString += '<td bgcolor=\"#DDDDDD\" align=\"center\" valign=\"center\" width=\"40\" height=\"22\">Mon<\/td>';
calendarString += '<td bgcolor=\"#DDDDDD\" align=\"center\" valign=\"center\" width=\"40\" height=\"22\">Tue<\/td>';
calendarString += '<td bgcolor=\"#DDDDDD\" align=\"center\" valign=\"center\" width=\"40\" height=\"22\">Wed<\/td>';
calendarString += '<td bgcolor=\"#DDDDDD\" align=\"center\" valign=\"center\" width=\"40\" height=\"22\">Thu<\/td>';
calendarString += '<td bgcolor=\"#DDDDDD\" align=\"center\" valign=\"center\" width=\"40\" height=\"22\">Fri<\/td>';
calendarString += '<td bgcolor=\"#DDDDDD\" align=\"center\" valign=\"center\" width=\"40\" height=\"22\">Sat<\/td>';
calendarString += '<\/tr>';
thisDate == 1;

for(var i = 1; i <= 6; i++){
    calendarString += '<tr>';
    for (var x = 1; x <= 7; x++){
        daycounter = (thisDate - firstDay)+1;
        thisDate++;
        if((daycounter > numbDays) || (daycounter < 1)) {
            calendarString += '<td align=\"center\" bgcolor=\"#888888\" height=\"30\" width=\"40\">&nbsp;<\/td>';
        } else {
            if (checkevents(daycounter,monthNum,yearNum,i,x) || ((todaysDay == x) && (todaysDate == daycounter) && (todaysMonth == monthNum))){
                if ((todaysDay == x) && (todaysDate == daycounter) && (todaysMonth == monthNum)){
                    tempweek = i;
                    tempdayofweek = x;
                    calendarString += '<td style=\"vertical-align: top;\" bgcolor=\"#AAFFAA\" height=\"30\" width=\"40\" onClick=showevents(' + daycounter + ',' + monthNum + ',' + yearNum + ',' + i + ',' + x + ')>' + daycounter + '<\/td>';
                } else 
                    calendarString += '<td style=\"vertical-align: top;\" bgcolor=\"#FFFFC8\" height=\"30\" width=\"40\" onClick=showevents(' + daycounter + ',' + monthNum + ',' + yearNum + ',' + i + ',' + x + ')>' + daycounter + '<div id="amountevent" style="padding-left:5px;max-height:8px; height:8px; width:30px; max-width:30px;white-space: nowrap;">' + displayeventnumber(daycounter, monthNum, yearNum) + '</div><\/td>';           
            } else 
                calendarString += '<td style=\"vertical-align: top;\" bgcolor=\"#f9f9f9\" height=\"30\" width=\"40\">' + daycounter + '<\/td>';
        }
    }
    calendarString += '<\/tr>';
}
calendarString += '<\/table>';
var object=document.getElementById('calendar');
object.innerHTML= calendarString;
thisDate = 1;

【问题讨论】:

    标签: javascript html date calendar


    【解决方案1】:

    在周日和周六的表格单元格上添加 class="weekend" 属性。然后使用 javascript 将该类的 CSS 样式设置为:

    .weekend {display: none;}
    

    更新: 更一般地说,如果您的表格看起来像这样:

    <table class="calendar">
        <tr><td class="weekend">Sunday</td><td>Monday</td><td>Tuesday</td><td>Wednesday</td><td>Thursday</td><td>Friday</td><td class="weekend">Saturday</td></tr>
        <tr><td class="weekend"></td><td>1</td><td>2</td><td>3</td><td>4</td><td>5</td><td class="weekend">6</td></tr>
        ...
        <tr><td class="weekend">28</td><td>29</td><td>30</td><td></td><td></td><td></td><td class="weekend"></td></tr>
    </table>
    
    <button type="button" onclick="hideWeekends()">Hide Weekends</button>
    

    和风格:

    table.calendar {width: 100%}
    

    还有 javascript:

    function hideWeekends() {
        // apply display: none style to elements with classname of "weekend". I recommend using jQuery if available.
    }
    

    【讨论】:

    • 那种作品,它隐藏了我周日和周六的标题,但对整行没有任何作用。
    • 你希望它对行做什么?或者你的意思是列?如果您希望它隐藏所有星期日和星期六元素,请务必在这些表格单元格上添加该类。 (例如,当 date.getDay() 返回 0 或 6 时)
    • 我的意思是列,这将是最好的:隐藏列或重新运行脚本,这意味着我可以使表格全屏显示(当我隐藏它们时,它不会使表格全屏显示。
    • 查看我的编辑,了解使用该样式保持全屏显示的方法
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-04-08
    • 2023-01-27
    • 1970-01-01
    • 1970-01-01
    • 2019-09-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多