javascript - 如何使 Lightpick 日历的日期格式响应窗口大小
问题描述
我正在向仪表板 ( Lightpick )添加一个预构建的 JS 日历,并希望根据窗口的大小更改日期格式。因此,例如,当用户减小尺寸 < 1000 像素时,格式会从“DD MMM YYYY”变为“DD/MM/YY”。问题是 - 我的解决方案只更新加载格式!
Lightpick 默认将格式设置为“DD/MM/YYYY”。我尝试创建一个名为 myDynamicFormat 的变量并在屏幕调整大小时更新它 - 但没有运气。似乎代码在页面加载时运行一次并且不会再次更新,除非刷新。这是我创建的调整大小函数,试图在宽度低于/超过 1000 像素时更新格式:
window.onresize = function() {
if (screen.width < 1000) {
myDynamicFormat = 'DD/MM/YY';
} else {
myDynamicFormat = 'DD MMM YYYY';
}
};
根据 Lickpick 文档,这是创建的选择器变量中的格式部分:
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.22.2/moment.min.js"></script>
<script src="lightpick-master/lightpick.js"></script>
var picker = new Lightpick({
format: myDynamicFormat,
...etc...
});
我也尝试将其设置为 HTML 中隐藏的 DIV 的 innerHTML 和值,但也没有运气。还尝试使用诸如“picker.format = ...”之类的运算符命令来重新分配值。
我希望选择器变量中的 myDynamicFormat 字段在页面加载后收听变量 - 能够随页面更新。
感谢您对此的帮助 - 我是 JS 的新手,这被证明是一种学习体验!
解决方案
可能这对你有用。
window.onresize = function() {
var getWidth = $(window).width();
if (getWidth < 1000) {
myDynamicFormat = 'DD/MM/YY';
} else {
myDynamicFormat = 'DD MMM YYYY';
};
};
推荐阅读
- vue.js - 如何创建 Vue 可插拔组件
- android - 打字稿的 PayHere 沙箱实现
- excel - VBA 最佳实践 - 从另一个工作表格式化工作表
- javascript - 访问回调 array.prototype 中的参数
- file - 打印到标准输出使用 f95 写入打开的文件
- php - 教义 - 用户返回最近的日期
- jquery - 我们可以更改 Bower.json 中的 jQuery 包版本吗
- javascript - 我想在我的数据表中过滤掉那些相同的显示数据
- javascript - jQuery DataTable 行条件格式,按列总计
- python - 当`x`已经是TensorFlow中的`tf.Variable`时可以调用`tape.watch(x)`吗?