是否可以使用div及其内容(图像类和相关文本)每周自动更改为不同的预配置内容?你可以使用jquery来做这件事吗?
注意:谢谢亲爱的聪明的嘲笑: - )
澄清。我有一个网页,上面有一位特色艺术家的照片和他/她的生物。我想每周都有一位不同的艺术家,他们有自己的生物和形象。我可以手动完成,但如果艺术家形象和生物每周在不同艺术家之间骑自行车,则会更喜欢它。内容是div,我想知道我是否可以使用jquery或其他一些过程来循环不同艺术家的内容?
答案 0 :(得分:3)
你可能想要这样的东西。假设您想在每周之间轮换三个div:
<div class="weekly week-1"> Buy our things! </div>
<div class="weekly week-2"> Save 20% today! </div>
<div class="weekly week-3"> Free kitten with every widget! </div>
您可以根据周显示和隐藏div:
// Get the number of the week since the epoch.
var week = Math.floor(new Date().getTime() / (1000 * 60 * 60 * 24 * 7));
// Show one div per week.
$('.weekly').hide();
$('.weekly .week-' + (week % 3 + 1)).show();
请注意,纪元(1969年12月31日)是一周的中间,所以这是你的横幅改变的时候。
答案 1 :(得分:1)
服务器端解决方案可能更好。但是,您可以使用以下内容快速破解:
var now = new Date();
Date.prototype.getDOY = function() {
var onejan = new Date(this.getFullYear(),0,1);
return Math.ceil((this - onejan) / 86400000);
}
var day = now.getDOY();
var week = Math.floor(day / 7);
switch(week)
{
case 1:
// First Week
break;
case 2:
// Second week
break;
}
答案 2 :(得分:0)
是 可能 不太可能肯定是
为了避免下载各种不必要的数据,只需在服务器上为每位艺术家创建一个不同的HTML文件。每个文件应仅包含 您想要的内容。没有<html>
<head>
<body>
个标签。
一致地标记文件,以数字结尾,例如:artist_0.html
,artist_1.html
等。
然后旋转它们,执行以下操作:
var today = new Date();
var beginning = new Date(today.getFullYear(),0,1);
var dayOfYear = Math.floor((((today - beginning) / 60000 ) / 60 ) / 24);
var weekNumber = Math.floor(dayOfYear / 7);
var numberOfArtists = 7; // Total quantity of artists (indexed 0 - 6)
var artistURL = "/path/to/artist_" + (weekNumber % 7) + ".html"; // Build the URL
$(function() {
$('#my_highlighted_artist').load(artistURL); // Load the proper artist
}); // on page load
你有多少艺术家并不重要。它将始终循环到下一个循环(虽然循环将在1月1日的第一个循环开始。