带有click事件的Javascript日期对象
Javascript date object with click event
对stackoverflow有点新手,花了太多时间思考这个问题,但简而言之,我正在努力找出实现这一点的最佳方法和最少的代码量。我有一个条件,它将根据一天中的时间执行操作。见下文:
var date = new Date();
var time = date.getHours();
if(time < 12){
header.prepend('Morning ');
link.attr('href', 'css/morning.css');
} else if (time >= 12 && time <= 18){
header.text('its afternoon time');
link.attr('href', 'css/day.css');
} else {
header.prepend('Night ');
link.attr('href', 'css/night.css');
}
我也有一个类似的点击事件:
$('button').click(function(){
var styleswitcher = $(this).text().toLowerCase();
link.attr('href', 'css/' + styleswitcher + '.css');
});
有没有办法将它们组合成一个函数,我觉得我在重复自己在conditional和click事件中两次调用样式表。因此,如果时间和点击事件匹配,就会显示正确的样式表。谢谢你的帮助!
是的,只需将代码打包并放入函数中即可。
$(document).ready(function() {
function change_css() {
var date = new Date();
var time = date.getHours();
var styleSwitcher = 'night';
if(time < 12) {
styleSwitcher = 'morning';
}
else if(time >= 12 && time <= 18) {
styleSwitcher = 'day';
}
link.attr('href', 'css/' + styleSwitcher + '.css');
}
change_css(); // First call on initial run.
$('button').click(function() {
change_css();
});
});
注意:我还没有时间测试这个代码,但这个想法是正确的。
相关文章:
- 比较从函数和生成的日期对象
- 如何获得一个只有时间的moment.js日期对象
- 使用moment.js获取时间分区的偏移日期对象
- 获取本地时间的JS日期,日期对象中没有时区详细信息
- 将某个时间格式转换为日期对象
- 正在使用日期字符串初始化javascript日期对象
- 在CouchDB Map函数中发出日期时-对日期对象调用的内容
- 如何将事件的日期放入fullcalendar中的日期对象中
- 为什么在JavaScript中可以从另一个日期对象中减去日期对象
- 理解日期对象接收参数时的getDay()方法
- JS日期对象setUTCMonth()将月份增加2
- 时间-日期对象JavaScript getUTCMilliseconds
- 将带有 AM/PM 的日期字符串转换为 javascript 日期对象
- Javascript 测试中的假日期对象
- 转换/格式化日期对象
- 如何在发布JavaScript日期对象时保留时区偏移量
- JS日期对象在某个范围内的百分比
- 无法从日期对象javascript获取日期和月份
- javascript日期对象未返回正确的日期
- Javascript日期对象-JSFiddle中的不同值