我会再试一次。我的问题被删除一次,显然是因为已经问过similar question。当作为对类似问题的回复发布时,它被删除了,显然是因为不够相似。
我的问题:
这是(类似问题的解决方案,上面的链接)跨浏览器兼容,即这适用于所有浏览器吗?另外,应该添加到jQuery文件中以使样式表自动切换(白天的灯光样式和夜间的黑暗样式)?
*如果.js用于javascript文件,.jq用于jQuery?这是我第一次看到jQuery解决方案,因为我通常在ol'搜索引擎中输入'javascript'。
希望这会得到回答,并且不会第三次删除。
答案 0 :(得分:2)
您无需切换样式表,只需切换样式即可。
<body class='day'>
<body class='night'>
然后你可以:
.day {
background-color:#ffffff
}
.night {
background-color:#808080
}
然后您可以使用以下方法对其进行控制:
$('body').removeClass('day')
$('body').removeClass('night')
在它周围包含一些基于日期时间的逻辑,你就可以开始了。
您还可以对这样的其他页面元素进行子类化以继续主题:
.day h1 { ... }
.night h1 { ... }
答案 1 :(得分:1)
jQuery是一个Javascript框架,意味着它抽象了一些基本的,低级的Javascript功能,因此它更容易用于更高级的东西,如UI效果,HTTP请求和DOM操作。但实际上,他们都都有.js扩展名。
也就是说,我会建议一种替代的,轻量级的解决方案,而不是切换实际的样式表,从而避免额外的网络请求。一段时间I blogged about this simple method,它只需要一行jQuery。
答案 2 :(得分:1)
Diodius的回答可能是最好的选择,但由于这不是你要求的,我给出了下面的代码。也就是说,我认为你应该强烈考虑Diodius的回答。
这是(类似问题的解决方案,上面的链接)跨浏览器兼容,即这适用于所有浏览器吗?
是。我应该在大多数现代浏览器中工作。
此外,应该添加到jQuery文件中以使样式表自动切换(白天的灯光样式和夜间的黑暗样式)?
我不确定你的意思是“添加到jQuery文件中”。你没有向jQuery文件添加任何内容,只需引用它,然后在你的javascript中提供jQuery。
所以要根据你有这样的时间来改变你的风格:
<link type="text/css" rel="stylesheet" id="timeofdaystyle" href="day.css"/>
<script type="text/javascript" src="jquery-1.7.2.min.js"></script>
<script type="text/javascript">
$(function() {
var d = new Date();
var hour = d.getHours();
if (hour < 8 || hour > 20) {
//between 8pm and 8am
$('#timeofdaystyle').attr('href', 'night.css');
} else {
/* this is unnecessary really, because you already have it set to day.css,
but I'll add it as an example */
$('#timeofdaystyle').attr('href', 'day.css');
}
});
</script>
*如果.js用于javascript文件,.jq用于jQuery?这是我第一次看到jQuery解决方案,因为我通常在ol'搜索引擎中输入'javascript'。
不,.js文件用于所有JavaScript。 jQuery是JavaScript,因此使用.js扩展名。
我希望有所帮助。
答案 3 :(得分:0)
我不会切换样式表。我会在正文中添加一个类,然后切换该类。如果你有2个样式表。一个人说移动另一个有桌面样式,这只是检测浏览器和改变身体类别的问题。它是跨浏览器兼容的并且不会令人头疼。