Rya*_*ner 3 javascript variables
我遇到了一段代码问题,这让我感到疯狂.我被困在这几个小时,最糟糕的是我假设它很简单; 我只是想不出来.
我正在尝试使用Javascript/jQuery创建一个简单的事件日历.这是我的简化代码:
var currentMonth = 1;
if (currentMonth == 1) {
$("#prev-month").click( function() {
currentMonth = 12;
});
$("#next-month").click( function() {
currentMonth = 2;
});
}
if ( currentMonth == 2) {
$("#prev-month").click( function() {
currentMonth = 1;
});
$("#next-month").click( function() {
currentMonth = 3;
});
}
if ( currentMonth == 3) {
$("#prev-month").click( function() {
currentMonth = 2;
});
$("#next-month").click( function() {
currentMonth = 4;
});
}
if ( currentMonth == 4) {
$("#prev-month").click( function() {
currentMonth = 3;
});
$("#next-month").click( function() {
currentMonth = 5;
});
}
Run Code Online (Sandbox Code Playgroud)
现在,每次我点击ID为"下个月"的按钮时,它总是为2.如果我点击ID为"prev-month"的按钮,它始终为12.它永远不会改变.我究竟做错了什么?
您的脚本代码只运行一次.单击它们后,您不会更改单击处理程序,因此这些处理程序将始终提供相同的结果.
但是不是固定,为每个按钮使用单个处理程序并使用算术计算下一个/上个月而不是在运行时更改12个处理程序会更简单.
$("#prev-month").click( function() {
currentMonth = (currentMonth - 1) || 12;
});
$("#next-month").click( function() {
currentMonth = currentMonth % 12 + 1;
});
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
6831 次 |
最近记录: |