FullBg Plugin

flashサイトでよく見かける『windowいっぱいの画像、またはムービー』。
これをjavascriptで実装しよう、と考えました。

そこでFullBgというプラグインを作りました。

Syntax:

var myFullBg = new FullBg(array, [, options]);

Arguments:

  1. array - 配列要素。例)['a','b','c',....]
  2. options
    • wrap - (element) 入れたい場所 *必須 だいたいdocument.bodyでよいかと
    • auto - (boolean : default to false) 自動再生
    • wait - (number : default to 3000) 待機時間
    • opacity - (number : 0-1, default to 0.5) 背景の透明度
    • duration - (number : default to 1000) 変化の速度
    • transition - (Fx.transitions 参照) トランジョン
    • crossFade - (boolean : default to false) クロスフェードする/しない
    • overlay - (boolean : default to true) オーバーレイをかけるかどうか
    • random - (boolean : default to true) スタートをランダムにするかどうか
    • light - (boolean : default to false) ライトで照らしたような効果をつけるかどうか

memo:

サンプルではTumblr.apiを使用してランダムにしてます。

KeyAction:

  • ← - 前へ
  • → - 次へ
  • h - overlayを隠す

Ex

Tumblr.apiを使う場合

function myFunc(json, url) {
 var bgArray = [];
 var data = new Element('div', {
  'id': 'tumblrTitle'
 }).set('html', 'Tumblr : <a href="http://'+json.tumblelog['name']+'.tumblr.com">' + json.tumblelog['title']+'</a>').inject(document.body);
 json.posts.each(function(value, key) {
  bgArray.push(value['photo-url-500']);
 });
 var full = new FullBg(bgArray, {
  wrap: $(document.body),
  crossFade: true,
  auto: auto,
  opacity:0.5
 });
};
function tumblr(url){
  var url = 'http://' + url + '.tumblr.com/api/read/json';
  var surl = url + '?type=photo&num=50&start=0';
  new Asset.javascript(surl,{onload:function(){myFunc(tumblr_api_read)}});
};

フツーに使う場合

var full = new FullBg(['a.jpg','b.jpg','c.gif'], {wrap: $(document.body)});

DEMO

| comment [0] | trackback [0] | category [ weblog ] | tags [ , , , , ]

トラックバックTrackBack URL:

コメントする