- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 CLNDR.js lib 制作日历,它对于选择一个日期很有用,但现在我们想通过拖动日历框(日期)来选择日期范围。
正如您在图像中看到的那样,有两个 handle 可供用户拖动,还有 jquery-ui 可拖动的,但任何人都可以演示或指导我如何实现此功能,或者是否可以通过 CLNDR 实现此功能.js 本身。
任何帮助将不胜感激。
最佳答案
所以我通过使用 jquery 拖放来实现这一点。每当单击其中一个框时,我都会向其中添加某个类并添加拖动处理程序。然后使盒子可掉落并在其上放置 handle 。如果您不熟悉 jQuery 拖放,请查看 look 。我删除了一些特定于我的项目的细节。我这里分享的主要是这个拖动功能用到的核心东西,除了一些你会看到的具体功能。我希望这会有所帮助。
// highlighting the box
$(this).addClass("bg-white");
// adding drag handlers to the date box
$(this).append('<div id="dragable-icons" ><span class="pull-left drag-icon" id="left-icon" style="z-index: 999; left:-8px" >' +
'<i class="fa fa-arrows " aria-hidden="true"></i>' +
'</span>' +
'<span class="pull-right drag-icon" id="right-icon" style="z-index: 999; right:-8px">' +
'<i class="fa fa-arrows" aria-hidden="true" ></i>' +
'</span></div>')
// making the icons draggable
$("#left-icon , #right-icon").draggable({
containment: ".calendar-rows", scroll: true
});
// all the boxes with class '.active' will be droppable (i.e box with 'active' class will be selected by dragging the icons on it)
$(".day-active").droppable({
accept: " #right-icon, #left-icon",
over: function (event, ui) { // when the handle is over a box
if($(this).hasClass("day-unavailable")){
$(this).removeClass("day-unavailable");
$(this).addClass("prev-unavailable");
}
$(this).addClass("bg-white");
},
// drop: when icons dragging icons are dropped on some date box
drop: function (event, ui) {
// if left icon moved then update startDateBox otherwise endDatebox (calculations)
if ($(event.toElement.parentElement).hasClass("pull-left")) {
$(ui.draggable).detach().css({top: 25,left: -7}).appendTo(this);
startDateBox = $(this)
}
else {
$(ui.draggable).detach().css({top: 25,left: 7}).appendTo(this);
endDateBox = $(this)
}
$('.calendar-rows').find(".bg-white").removeClass("bg-white");
$(startDateBox).addClass("bg-white");
$(endDateBox).addClass("bg-white");
// get all selected boxes
datebox = $(".bg-white")
len = datebox.length
// generateDate(), getDates(), setDateModify() : notes at end of file
// selecting all dates between startDate and endDate
startdate = generateDate(datebox[0])
enddate = generateDate(datebox[len - 1])
var dateArray = getDates(new Date(startdate), (new Date(enddate)));
var length = dateArray.length;
for (i = 1; i < length; i++) {
if (parseInt(dateArray[i].getMonth() + 1) > 9) {
month = (parseInt(dateArray[i].getMonth()) + 1);
}
else {
month = "0" + (parseInt(dateArray[i].getMonth()) + 1);
}
if (dateArray[i].getDate() > 9) {
date = dateArray[i].getDate()
}
else {
date = "0" + dateArray[i].getDate()
}
date = dateArray[i].getFullYear() + "-" + month + "-" + date
var class_name = ".calendar-day-" + date
if ($(class_name).hasClass("day-unavailable")) {
$(class_name).removeClass("day-unavailable");
$(class_name).addClass("prev-unavailable");
}
$(class_name).addClass("bg-white");
}
setDateModify(startdate, enddate)
}
});
关于jquery - 添加拖动功能以使用 CLNDR.js 从日历中选择多个(范围)日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43573777/
我希望有一些日子被标记为“事件”以外的类别(例如:“假期”),这样我就可以更改它的背景,例如。 来自 CLNDR.js 的网站(http://kylestetz.github.io/CLNDR/):
我正在运行一个名为 clndr.js 的插件在我的一个项目上。更改当前语言并不难,只需插入以下行即可: daysOfTheWeek: ['Z', 'M', 'D', 'W', 'D', 'V', 'Z
有人可以帮助我吗?我需要使用 clndr.js 实现 image on day 事件。 当我某天有事件的时候,我需要把这张图片和这一天的事件数量放在一起。我希望你会有所帮助。 这是我有两个事件时的模板
我正在使用 CLDNR.js 创建日历。 在控制部分,它通常有一个输出如下内容的模板: Previous January 2018 Next 我的要求是 Dec 2016
我想显示两个月,而不是使用 CLNDR.js 的传统一个月 View ,但是我找不到任何说明这是如何实现的文档。 http://kylestetz.github.io/CLNDR/ 如有任何帮助,我们
我正在使用 clndr.js ( http://kylestetz.github.io/CLNDR/ ) 来显示预订度假屋的日期。这些总是使用多日事件系统显示,因为最少预订是 3 天。我现在需要为事件
我想用 CLNDR.js 创建一个日历,但我不知道如何开始......我看到了 github 页面:https://github.com/kylestetz/CLNDR#dependencies并在我
我正在尝试使用 CLNDR.js 在我的页面上显示事件。根据示例,Calendar 应该这样调用: $(document).ready( function() { var eventArray
我使用 CLNDR.js 创建了一个日历。一切都运行良好,但我想将选定的日期传递到 Underscore 中以仅显示事件日期。 我的 clndr html 的一部分: --
我希望根据值本身为出现在我的日历中的每个 clndr.js 事件分配一个类。 var temp 显示了接收到的数据的示例。我想将类型上的每个事件设置为 1 或 2。代码显示了默认模板,我想修改该模板以
我正在使用 CLNDR.js 插件创建一个漂亮的迷你日历。我需要能够访问 event 中的值day 内的函数功能。让我尝试在下面解释一下: 这是我填充日历的 JS 代码。您会在我的 JSON 中看到我
我正在使用 CLNDR.js lib 制作日历,它对于选择一个日期很有用,但现在我们想通过拖动日历框(日期)来选择日期范围。 正如您在图像中看到的那样,有两个 handle 可供用户拖动,还有 jqu
我目前正在使用 CLNDR 插件:http://kylestetz.github.io/CLNDR/一个很棒的用于制作日历的小 jQuery 插件。理想情况下,我希望将日历用作事件日历,即如果您将事件
我是一名优秀的程序员,十分优秀!