不久前我需要一个脚本来每周更新一些内容,我的问题在这个论坛 https://stackoverflow.com/questions/3701276/jquery-update-content-every-week-or-long-period-of-time.
--
现在,我不是像你一样的 jQuery 专业人士:),但我遇到的“问题”是今天(这篇文章的时刻)是第 52 周,但脚本无法正常工作,它没有显示第 52 周的内容,所以我将 HTML 更改为第 53 周,它起作用了。
“问题”是没有第 53 周,所以我担心我必须更改我的 HTML 才能继续计算第 54、#56、#57 周等,而这些周没有存在。
这是 HTML 的摘录(结构在几周内重复,内容当然会改变):
<div class="quotes-container quote-53">
<div class="quote">Quote here...</div>
<div class="author">— Author </div>
</div>
Script:
<script type="text/javascript">
Date.prototype.getWeek = function() {
var onejan = new Date(this.getFullYear(),0,1);
return Math.ceil((((this - onejan) / 86400000) + onejan.getDay()+1)/7);
}
jQuery(function(){
var today = new Date();
var weekno = today.getWeek();
jQuery('#quotes-wrapper').load('/common/testimonials.html div.quote-'+weekno);
});
</script>
知道发生了什么事吗?
非常感谢您对此的任何帮助。
EDIT:您使用的脚本将“周”视为星期日至星期六。由于一年并不总是从星期日开始,因此它将第一个部分周视为第一周。
如果您只想要从年初开始的 7 个周期,请使用下面的脚本。如果您想要基于星期日,那么您使用的脚本是正确的。
有一周#53
。这还不是完整的一周。
But we are in week 52
. I'm guessing the current script doesn't account for leap years.
相反,您可以计算今年的第几天,并将其除以 7。
Example: http://jsfiddle.net/etTS2/2/ http://jsfiddle.net/etTS2/2/
<script type="text/javascript">
Date.prototype.getWeek = function() {
var onejan = new Date(this.getFullYear(),0,1);
var today = new Date(this.getFullYear(),this.getMonth(),this.getDate());
var dayOfYear = ((today - onejan +1)/86400000);
return Math.ceil(dayOfYear/7)
};
jQuery(function(){
var today = new Date();
var weekno = today.getWeek();
jQuery('#quotes-wrapper').load('/common/testimonials.html div.quote-'+weekno);
});
</script>
你仍然会得到以下结果53
一年的最后一天(或闰年的最后两天)。
EDIT:修正了偏移量1
on the dayOfYear
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)