2011-02-01 4 views
0

divとその内容(画像クラスと関連テキスト)を毎週自動的に異なる事前設定されたコンテンツに変更できますか?これを行うためにjqueryを使用できますか?divとそのコンテンツを特定のサイクルごとに自動的に変更する

注:明確にするために

:-)機知に富んだコメントをあなたの愛するスマートドルをありがとうございました。私は特集されたアーティストの写真とその下にある彼のバイオのウェブページを持っています。私は自分のバイオとイメージで毎週別のアーティストを紹介したいと思っています。私は手動で行うことができますが、アーティストの画像とバイオが毎週異なるアーティストのサイクリングを自動的に変更した場合、それを好むでしょう。コンテンツはdivにあり、jqueryやその他のプロセスを使用してさまざまなアーティストのコンテンツを循環させることができるかどうかを知りたがっていますか?

+1

これはすべてですか?あなたの質問が完全ではないように見えます。 –

+0

「毎週〜...」?もっと情報が必要だと思う。 –

+0

はい。可能です。 – Kalendae

答えて

3
あなたはこのような何かをしたいあなたは、毎週の間で回転したいあなたは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要素を表示し、非表示にすることができます:エポック(1969年12月31日)はそう、これはあなたのバナーが変更されたときである週の真ん中だったこと

// 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(); 

注意

+0

ありがとうございます。 – Quazi

+0

[エポック](http://en.wikipedia.org/wiki/Epoch_(reference_date))は、日付の参照ポイントです。これは、私が探しているものです。エポックの関連性を確かめることはできません。 。 JavaScript Dateの内部構造はおそらくEpochからのミリ秒数の整数です。エポックが1969年12月31日になってから0秒後の私のブラウザでは、 'alert(new Date(0))' –

0

はい多分そう間違い


不要なデータのすべての種類をダウンロードしないようにするためには、単に各アーティストのためのあなたのサーバー上の別のHTMLファイルを作成します。各ファイルには、のみが必要です。いいえ<html><head><body>タグ。

ラベルのように、番号で終わる一貫ファイル、:artist_0.htmlartist_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からやり直しになるでしょうが

+2

loL!私はちょうどそれを書くのを控えていました:) – zack

+1

今、私はyで終わる日にしか言わなかったでしょう。明日のように、それは動作しません(しかし、水曜日になるでしょう)。;-) –

+0

@ブラッド:ああ、昨日、それは持っていただろう。 – user113716

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; 
} 
関連する問題