我很久以前创建了这个函数,它显示了当前一天网页所需的信息。
此后我没有更改代码,但它现在显示前一天的信息(例如,星期四它显示了星期三的信息)。
我希望有人可以帮我弄清楚下面这个功能有什么问题:
$(document).ready(function () {
var dayOfWeek = new Date().getDay();
$(".menu").hide();
if (dayOfWeek > 0 && dayOfWeek <= 5 )
$("#menu" + dayOfWeek).show();
else
$("#menu1").show();
});
非常感谢任何帮助。
更新 该功能应该从周一到周五提供信息。 在JSFiddle上它工作正常(https://jsfiddle.net/4rm4swuf/),但在网页的主页上它似乎没有带来正确的日期。 它很适合饲料问题? 但是网站上有另一个页面使用了类似的功能,它可以正常工作。 在这个页面上没有带来&#34; Jueves&#34; / Thursday http://latabladegongora.com/index.php
在此页面上显示&#34; Jueves&#34; / Thurday。 http://latabladegongora.com/menu.php
这表明数据应该没问题。
有什么想法吗?
感谢。
答案 0 :(得分:1)
这个功能似乎对我来说很好,并返回一周中正确的一天。 (即你的函数中的控制台日志今天返回4,这是星期四)。也许确保您的操作系统时间正确?
答案 1 :(得分:1)
JavaScript的Date#getDay()方法返回当天的索引(0-6),其中星期日是第0天,星期六是第6天。
console.log(['Sun', 'Mon', 'Tues', 'Wed', 'Thur', 'Fri', 'Sat'][new Date().getDay()]);
&#13;
请仔细注意规范中的这一说明(强调我的):
返回值
对应于给定日期的星期几的整数,根据当地时间:0表示星期日,1表示星期一,2表示星期二,依此类推。
它返回的日期将与浏览器中的当前日期相匹配。您可以尝试记录new Date()
以验证它认为日期是什么。
答案 2 :(得分:0)
我在逻辑
中发现错误(矛盾) if (dayOfWeek > 0 && dayOfWeek <= 5 )
// possible values of dayOfWeek are: 1,2,3,4,5
$("#menu"+dayOfWeek).show();
// result can also be $("menu1") ...as bellow in the else statement
else
$("#menu1").show();