Javascript 更少css中的日期条件
我想使用Less来创建一些仅在给定时间间隔内有效的CSS代码 我想创建一个这样的混音Javascript 更少css中的日期条件,javascript,css,less,Javascript,Css,Less,我想使用Less来创建一些仅在给定时间间隔内有效的CSS代码 我想创建一个这样的混音 .showFromTo (@from, @to) when (`new Date().getTime() >= @from && new Date().getTime() <= @to`) { width: 100px; //for example } 因为它不起作用。。。有人能帮我吗?有几件事 传递javascript日期信息,因此需要对此进行说明 正如Stephen T
.showFromTo (@from, @to) when (`new Date().getTime() >= @from && new Date().getTime() <= @to`) {
width: 100px; //for example
}
因为它不起作用。。。有人能帮我吗?有几件事
.showFromTo (@startYear, @startMonth, @startDay, @endYear, @endMonth, @endDay) {
@currentTime: `new Date().getTime()`;
@start: `new Date(@{startYear}, @{startMonth} - 1, @{startDay}).getTime()`;
@end: `new Date(@{endYear}, @{endMonth} - 1, @{endDay}).getTime()`;
@displayCheck: `@{currentTime} >= @{start} && @{currentTime} <= @{end} ? true : false`;
.display() when (@displayCheck = true) {
width: 100px; //for example
}
.display();
}
.myClass {
.showFromTo(2014, 1, 1, 2014, 12, 31); //displays if in 2014
}
.myClass2 {
.showFromTo(2013, 1, 1, 2013, 12, 31); //does not display since we are past 2013
}
谢谢斯科特的回答。 我是这样解决的:
@todayTs: `new Date().getTime()`;
.showFromTo (@fromTs, @toTs) when (@fromTs =< @todayTs) and (@todayTs =< @toTs) {
//style
}
这样比较容易,但是您需要以更复杂的格式< /P>传递参数。我不相信HARSE表达式支持任意的JavaScript执行。在任何情况下,考虑JavaScript评估在编译时发生,所以只有在服务较少的源并让客户端编译它时,才能执行JavaScript评估。(我不建议这样做)或定期重新编译CSS,并记住破坏您可能拥有的任何缓存。
.myClass {
width: 100px;
}
@todayTs: `new Date().getTime()`;
.showFromTo (@fromTs, @toTs) when (@fromTs =< @todayTs) and (@todayTs =< @toTs) {
//style
}
.myClass {
.showFromTo(`new Date(2014, 00, 03).getTime()`, `new Date(2014, 00, 09).getTime()`);
}