私のやり方はサーバー側のコードを使用することですが、JavaScript の例を示す方が誰にとっても簡単だと思います。あなたが求めていることを達成するために取るかもしれないいくつかのアプローチがありますが、これを行う簡単な方法の 1 つは、すべての画像ファイルへの URL を配列内の文字列として保存することです。
var urlPath = new Array();
urlPath[0] = "Leave Empty"; //Because there will never be a 0th day of any month...
urlPath[1] = "/Images/nameOfPic1.jpg";
urlPath[2] = "/Images/nameOfPic2.jpg";
urlPath[3] = "/Images/nameOfPic3.jpg";
次に、日付を取得してそれらを循環します。
var myDate = new Date();
次に、getDate() に基づいて画像へのパスを取得します。
var currentDate = myDate.getDate();
document.getElementById("imgElement").src=urlPath[currentDate];
次に、(特定の月に持っている写真の数に応じて)数値の日付に基づいて新しい写真を割り当てることができます. もちろん、この例を使用して、必要に応じてそれらを呼び出すために、1 か月の最大日数 (31) に等しい量の画像を用意することは理にかなっています。この方法では、特定の月 (ただし、31 日未満の月) の特定の写真が除外されます。それらを単純に循環させたい場合は、上記とまったく同じように行いますが、最後の 2 つのステートメントの代わりにこれを追加します (この例では、常に 25 個の画像があると想定しています)。
var currentDate = myDate.getDate();
if(currentDate > 25)
{
currentDate -= 25;
document.getElementById("imgElement").src=urlPath[currentDate];
}
else
{
document.getElementById("imgElement").src=urlPath[currentDate];
}
これは完璧ではありません。新しい月が始まるたびに画像リストが最初からやり直され、一部の画像が他の画像よりも多く表示されるからです。これを行うためのより良い方法があるかどうかはわかりませんが、クライアントがあまりうるさくなければ、仕事は完了するはずです。繰り返しになりますが、個人的には、サーバー側のコードを使用して、グローバルなアプリケーション変数を設定し (すべての人に)、これを直接処理して AppState 変数を記憶します (WebMatrix (C#) を使用していることは明らかですか?)クライアント側の状況に関係なく。
これが役立つことを願っています:)