我几天前写了一个脚本,它会根据一天中的时间切换我的页面的 css 样式表。它似乎工作正常,直到我意识到它在执行完脚本一次后就会停止。
例如。当我第一次实现脚本时,它会在白天使用一个样式表,然后在晚上使用另一个样式表,然后在日落时使用第三个样式表,最后在晚上使用一次。它会第一次这样做。但是在第 4 次切换之后它不会再次切换,除非我重新实现脚本。它只是停留在脚本底部切换到的样式表上,因为我是 javascript 的新手,所以我不知道为什么要这样做。
我已经使用相同的 javascript 函数来控制图片和其他东西,它们似乎可以完美地工作。这是代码。
<!--CSS Stylesheet Switch Code--->
<script type="text/JavaScript">
<!--
function getStylesheet() {
var currentTime = new Date().getHours();
if (7 <= currentTime && currentTime < 17) {
document.write("<link rel='stylesheet' href='http://itsnotch.com/tumblr/files/vice.css' type='text/css'>");
}
if (17 <= currentTime && currentTime < 19) {
document.write("<link rel='stylesheet' href='http://itsnotch.com/tumblr/files/evening.css' type='text/css'>");
}
if (19 <= currentTime && currentTime < 21) {
document.write("<link rel='stylesheet' href='http://itsnotch.com/tumblr/files/dusk.css' type='text/css'>");
}
else {
document.write("<link rel='stylesheet' href='http://itsnotch.com/tumblr/files/nighttime.css' type='text/css'>");
}
}
getStylesheet();
-->
</script>
最佳答案
即使前两个语句中的一个是正确的,后两个语句中的一个也将始终执行。将您的 ifs 更改为 else ifs,或使用开关。
关于Javascript if 语句在 html 页面上无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5276131/