【发布时间】:2018-01-26 07:57:15
【问题描述】:
我正在做一个日期选择器,日期选择器应该有三个部分
PREV DAY TODAY NEXT DAY
TODAY 最初显示今天的日期,但如果用户点击第二天,它将更改为第二天的日期。
例如
< 25th Jan 2018 26th Jan 2018 27th Jan 2018 >
当他们点击“2018 年 1 月 27 日”时,这三个部分应该会以这种方式发生变化
< 26th Jan 2018 27th Jan 2018 28th Jan 2018 >
我正在使用 Moment JS 并且到目前为止已经这样做了:
<div class="tracker-day-picker">
<div class="adjacent-day previous-day"><span>Prev</span></div>
<div class="day current-day"><span>Current</span></div>
<div class="adjacent-day next-day"><span>Next</span></div>
</div>
还有 JavaScript 代码:
$(document).ready(function(){
var currentDate = moment();
tracker_picker_update( currentDate );
$(".previous-day").on("click", function(){
currentDate = currentDate.subtract(1, "day");
tracker_picker_update( currentDate );
});
$(".next-day").on("click", function(){
currentDate = currentDate.add(1, "day");
tracker_picker_update( currentDate );
});
});
function tracker_picker_update( currentDate ) {
var tracker_picker = $(".tracker-day-picker");
// Set current Date
tracker_picker.find(".current-day span").text( currentDate.format("DD MMM Y") );
// Set previous Date
tracker_picker.find(".previous-day span").text( currentDate.subtract(1, "day").format("DD MMM Y") );
// Set Next Date
tracker_picker.find(".next-day span").text( currentDate.add(1, "day").format("DD MMM Y") );
return true;
}
对于某些部分,它似乎工作正常,如果我喜欢 previous-day 元素它工作正常,当天会更新为点击日期,而在 previous-day 元素中点击日期的前一天是更新。
问题发生在next-day 元素上。
这是一个例子: http://jsbin.com/yejoful
【问题讨论】:
标签: javascript jquery date momentjs