表示するデータを周期的に切り替える
お知らせ等のちょっとしたデータの表示を周期的に切り替えるカスタマイズです。サンプルでは3秒周期でデータを切り替えるように設定しています。テンプレートに依存しませんので、JavaScript が使えればどのツールでも利用可能です。
以下、カスタマイズ方法です。
1.本文の設定
テンプレートの任意の位置、例えばお知らせに使用するのであれば、中央カラム上部等に下記の設定を挿入します。
<div id="info1">
お知らせ1
</div>
<div id="info2">
お知らせ2
</div>
<div id="info3">
お知らせ3
</div>
例は3種類のお知らせ用フォーマットを用意していますので、青色の部分にお好きな内容を設定してください。
2.イベントハンドラの設定
body 要素に青色のように onload イベントハンドラの設定をします。
<body onload="setInterval('changeLink()',10000)">
中に設定されている「10000」の部分は、msec(1/1000秒)を表す単位を設定します。「10000」は10秒周期を示しています。setInterval は JavaScript で用意された関数で、起動する関数と、周期を設定します。onload イベントハンドラでこの設定が実行されます。
3.スクリプトの設定
1項で設定した部分のすぐ下に、下記のスクリプトを追加します。
<script type="text/javascript">
var max = 3;
var n = 1;
function changeLink() {
for(i = 1; i < max+1; i++){
document.getElementById('info'+i).style.display = 'none';
}
if(!n || n > max) n = 1;
document.getElementById('info'+n).style.display = 'block';
n++;
}
changeLink();
</script>
4.フォーマットを増やす
フォーマットを増やす場合は、1項で設定した本文の下に、
<div id="info4">
お知らせ4
</div>
<div id="info5">
お知らせ5
</div>
:
という具合に、同じタグ構造のものを追加します。赤色の n には上から順番に数字を振ってください。最初のリストでは info3 まで割り振られているので、新しく追加する場合は順に info4、info5、… と割り振ります。
それから、フォーマットの合計数を、3項の2行目にある max の右辺に設定します。5種類のフォーマットを表示する場合は
var max = 3;
となっている部分、下記のように
var max = 5;
「5」に修正してください。
5.注意事項
アフィリエイトの商品リンク切り替えに使用される場合、利用規定で禁止されている場合もありますので、十分ご注意ください。
6.その他
2項のイベントハンドラの設定を行わずに、setInterval を3項のリストの最後に追加して
:
changeLink();
setInterval('changeLink()',10000)";
</script>
とする手もあります。
- 複数のsubmitボタンをonsubmitで判定する方法
- JavaScriptの時間を0パディングする方法
- JavaScriptでJSONデータを作る方法
- JavaScriptやjQueryで設定されたイベントの定義場所を調べる方法
- javascript:void(0)のまとめ
- setTimeout()やsetInterval()で引数を渡す方法
- JavaScriptのFormDataの使い方
- JavaScriptメールアドレスチェッカー
- PCのブラウザでiPhoneやAndroidのようなパスワードフォームを実現するJavaScriptライブラリ「FormTools」
- JavaScriptでフォーカスのあたっている要素を取得する「document.activeElement」
- 入力フォームの全角・半角を勝手に変換してくれるJavaScript
- JavaScriptエラーを表示・確認する方法のまとめ
- ソーシャルボタンのJavaScriptでfunctionの前に「!」がついている理由
- JavaScriptでCSSの擬似クラスを設定する方法
- JavaScriptの正規表現で文字列を抜き出す「グループ化」