对于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');
});
有没有办法将它们组合成一个函数,我觉得我通过在条件事件和click事件中调用样式表两次来重复自己。因此,如果时间和点击事件匹配,则显示正确的样式表。谢谢你的帮助!
答案 0 :(得分:1)
是的,只需打包代码并将其放入函数中。
$(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();
});
});
注意:我没有时间测试此代码,但这个想法是正确的。