hampom TODAY

「TODAY」ってタイトルが付くブログが作りたいな、と思った10分後に作ったブログ。

作ってみたよー!! ランダムバナーを表示する jQuery プラグイン

1件のコメント

「ランダムにバナーを表示したい」という要望があり、データベースとか使うような大袈裟なものじゃないもの…と jQuery でなんとか実現できないものかと、ちょっと自分で作ってみる事にしました。

サンプルを設置しました! → SAMPLE

ソースコードは以下。

(function($){

 $.fn.rb_collection = {};
 $.fn.rb_collection = function(cfg) {

 var that = this;

 if($.browser.msie && !$.fn.random_banner.winloaded)
 $(window).load(function(){ ini(cfg) });
 else
 ini(cfg);

 function ini(cfg) {
 $.post( cfg, function(data, status) {
 var $items = $(".rb_collection", data);

 var arr = $.makeArray($items);
 var nums = Math.floor(Math.random() * arr.length);
 $(that).html(arr[nums]);
 }, "html");
 };

 };

})(jQuery);

使い方は、jQuery(1.3.2 で動作してました!) と一緒に読み込み…。

以下のように、HTML を書きます。
該当するのは、

$("#bp_holder").rb_collection('javascript/semi-item.htm');

こちらの一行。

id が bp_holder というブロック(div)に javascript/semi-item.htm の中に記述されている複数のバナーから1つを表示する。という意味になります。


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="ja" xml:lang="ja">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script type="text/javascript" src="javascript/jquery.js"></script>
<script type="text/javascript" src="javascript/rb_collection.js"></script>

<script type="text/javascript">
$(document).ready(function(){

 $("#bp_holder").rb_collection('javascript/semi-item.htm');

});
</script>
</head>
<body>

<!-- ランダムバナーが表示される場所 -->
<div id="bp_holder"></div>

</body>
</html>

そして、semi-item.htm には複数のバナーを並べておきます。
ファイルの拡張子からもわかるように、ただの HTML ファイルになっており…


<html>
<body>
<div>

<!-- ひとつ目のバナー -->
<table cellspacing="0" cellpadding="0" width="184" border="0" class="rb_collection">
<tr>
<td>BLOG:</td>
<td><a href="http://hampom.wordpress.com/"></a></td>
</tr>
<tr>
<td>TWITTER:</td>
<td><a href="http://twitter.com/hampom/"></a></td>
</tr>
</table>

<!-- ふたつ目のバナー -->
<div class="rb_collection">
<a href="http://twitter.com/hampom/"><img src="http://a3.twimg.com/profile_images/483611929/avatar.png"></a>
</div>

</div>
<body>
</html>

おおきな div要素の中に、さらに table や div といったブロックがあり css の class 指定「rb_collection」がされています。

この rb_collection が設定されている要素がランダムで元のページに出力されて表示されます。

初めて作ってみたんですが、とりあえず希望通り動いていますのでヨシとしております。改善点や問題点などがあればご指摘いただけると嬉しいです(*´д`*)

投稿者: hampom

2009年 10月 31日 at 2:05 PM

カテゴリー: 未分類

コメント / トラックバック1件

RSS でコメントを購読する

  1. [...] 作ってみたよー!! ランダムバナーを表示する jQuery プラグイン October 2009 4 [...]


コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中

フォロー

Get every new post delivered to your Inbox.

現在332人フォロワーがいます。