Moment.js 在特定时间创建弹出窗口
Moment.js creating a popup at a specific time
这是我第一次使用 moment.js,但我正在尝试创建弹出窗口或按钮出现的时间段。因为这是我第一次使用它,所以通过文档非常不清楚如何解决这个问题:
http://momentjs.com/docs 我想到的方法是通过持续时间部分或操纵
$('.button').hide();
if(moment.duration(9, 'hours')){
$('.button').show();
}
else{
$('.button').hide();
}
类似这样的事情,但我不确定,我正在尝试获取它,以便时间应该从上午 9 点开始
无需使用持续时间。 moment.js 不会给你超时(持续时间只是持续时间,如 2 小时等)所以只需使用普通的:
function showSomething(){
$('#something').show();
}
setTimeout(showSomething, 1000);
你当然也可以这样写:
setTimeout(showSomething, moment.duration(2, 'seconds'));
但是我看不到你问题中的用例。
要在特定时间显示按钮,比如 11:12 小时,你可以试试这个:
$('.button').hide();
function showButton(){
$('.button').show();
};
function refreshAt(hours, minutes, seconds) {
var now = new Date();
var then = new Date();
if(now.getHours() > hours || (now.getHours() == hours && now.getMinutes() > minutes) || now.getHours() == hours && now.getMinutes() == minutes && now.getSeconds() >= seconds) {
then.setDate(now.getDate() + 1);
}
then.setHours(hours);
then.setMinutes(minutes);
then.setSeconds(seconds);
var timeout = (then.getTime() - now.getTime());
setTimeout(showButton, timeout);
};
refreshAt(11, 12, 00);
我最终使用了网站外的获取设置功能,因此它看起来像这样:
$('.button').hide();
if(moment().hours() >= 9 && moment().hours() <= 11){
$('.button').show();
}
else{
$('.button').hide();
}
对于 momentjs 效果很好
我设法结合了上述两种方法。我需要在特定时间间隔内激活一个按钮:归功于 Chridam 和 jsg。这是我的解决方案:
$('#myButton').hide();
if(moment().hours() >= 13&& moment().hours() <= 17)
{
$('#myButton').show();
}
else if (moment().hours() >= 1 && moment().hours() <= 2)
{
$('#myButton').show();
}
else{
$('#myButton').hide();
}
// Ability to refresh
function refreshAt(hours, minutes, seconds) {
var now = new Date();
var then = new Date();
if(now.getHours() > hours || (now.getHours() == hours && now.getMinutes() > minutes) || now.getHours() == hours && now.getMinutes() == minutes && now.getSeconds() >= seconds) {
then.setDate(now.getDate() + 1);
}
then.setHours(hours);
then.setMinutes(minutes);
then.setSeconds(seconds);
//var timeout = (then.getTime() - now.getTime());
//setTimeout(showButton, timeout);
};
refreshAt(13, 00, 00);
refreshAt(17, 0, 00);
refreshAt(1, 00, 00);
refreshAt(2, 00, 00);
这是我第一次使用 moment.js,但我正在尝试创建弹出窗口或按钮出现的时间段。因为这是我第一次使用它,所以通过文档非常不清楚如何解决这个问题: http://momentjs.com/docs 我想到的方法是通过持续时间部分或操纵
$('.button').hide();
if(moment.duration(9, 'hours')){
$('.button').show();
}
else{
$('.button').hide();
}
类似这样的事情,但我不确定,我正在尝试获取它,以便时间应该从上午 9 点开始
无需使用持续时间。 moment.js 不会给你超时(持续时间只是持续时间,如 2 小时等)所以只需使用普通的:
function showSomething(){
$('#something').show();
}
setTimeout(showSomething, 1000);
你当然也可以这样写:
setTimeout(showSomething, moment.duration(2, 'seconds'));
但是我看不到你问题中的用例。
要在特定时间显示按钮,比如 11:12 小时,你可以试试这个:
$('.button').hide();
function showButton(){
$('.button').show();
};
function refreshAt(hours, minutes, seconds) {
var now = new Date();
var then = new Date();
if(now.getHours() > hours || (now.getHours() == hours && now.getMinutes() > minutes) || now.getHours() == hours && now.getMinutes() == minutes && now.getSeconds() >= seconds) {
then.setDate(now.getDate() + 1);
}
then.setHours(hours);
then.setMinutes(minutes);
then.setSeconds(seconds);
var timeout = (then.getTime() - now.getTime());
setTimeout(showButton, timeout);
};
refreshAt(11, 12, 00);
我最终使用了网站外的获取设置功能,因此它看起来像这样:
$('.button').hide();
if(moment().hours() >= 9 && moment().hours() <= 11){
$('.button').show();
}
else{
$('.button').hide();
}
对于 momentjs 效果很好
我设法结合了上述两种方法。我需要在特定时间间隔内激活一个按钮:归功于 Chridam 和 jsg。这是我的解决方案:
$('#myButton').hide();
if(moment().hours() >= 13&& moment().hours() <= 17)
{
$('#myButton').show();
}
else if (moment().hours() >= 1 && moment().hours() <= 2)
{
$('#myButton').show();
}
else{
$('#myButton').hide();
}
// Ability to refresh
function refreshAt(hours, minutes, seconds) {
var now = new Date();
var then = new Date();
if(now.getHours() > hours || (now.getHours() == hours && now.getMinutes() > minutes) || now.getHours() == hours && now.getMinutes() == minutes && now.getSeconds() >= seconds) {
then.setDate(now.getDate() + 1);
}
then.setHours(hours);
then.setMinutes(minutes);
then.setSeconds(seconds);
//var timeout = (then.getTime() - now.getTime());
//setTimeout(showButton, timeout);
};
refreshAt(13, 00, 00);
refreshAt(17, 0, 00);
refreshAt(1, 00, 00);
refreshAt(2, 00, 00);