为什么使用“num”变量时,日历表无法正常显示日期?
疑问:为什么使用“num”变量时出现问题?
问题描述:
在通过点击“∨”按钮增加日历表时,希望使用“num”变量来替换图片中的数字,但这样操作后会出现异常,导致日期无法正常显示。
原因分析:
初始化执行时,“num”为未定义,因此“month_now + 1 + num”的值为NaN,导致页面不显示日期。
解决方案:
目前的做法是点击按钮时仅让“num”每次增加1,但需要重新执行拼接日期的代码才能更新页面上的日期。
修改后的代码段:
在以下代码块中,加入了对拼接日期代码的重新执行:
//获取‘∨’的点击次数 $('<button class=add_cla>∨</button>').appendTo('body') $('.add_cla').addClass('add_sty') function add_month(callback) { var num_next = 0; $('.add_cla').click(function () { callback(num_next++) // 拼接日期代码执行 var html = '<div class="box">'; //获取每个月份共有多少天 var max = new Date(year, m, 0).getDate(); html += '<tr>';//开始<tr 标签 for (d = 1; d <= max; d++) { if (w && d == 1) {//如果该月的第1天不是星期日,则填充空白 html += '<td colspan ="' + w + '" > </td>'; //变量加入字符串 } html += '<td class="td_event" id=td_id' + d + '>' + d + '</td>'; if (w == 6 && d != max) {//如果星期六不是该月的最后一天,则换行 html += '</tr><tr>'; } else if (d == max) {//该月的最后一天,闭合</tr 标签 html += '</tr>'; } w = (w + 1 > 6) ? 0 : w + 1; } ......
通过重新执行拼接日期的代码,每次“num”变化时都会正确更新页面上的日期。
以上就是为什么使用“num”变量时,日历表无法正常显示日期?的详细内容,更多请关注其它相关文章!