2011/06/07

LightboxをjQuery化で軽めにうにょーん。

jQueryを導入し、ラベルの階層化をするべく色々いじくってみましたが、なかなかうまく行かず、、、やはりコードの中身を見て検証しないといけないとなると、知識が無い私にはキツイものがあります。

で、jQueryについて調べていると、かつて画像うにょーん化をした際に使ったLightboxが、jQueryのプラグインとしてあるじゃないですか。

これを使うと"prototype.js"を使わなくて良いのかな、と思うと、だいぶブログの表示が軽くなるはず。何しろ"prototype.js"が159KB、"jquery~.js"が89KB、合計248KBものライブラリを表示のたびに読み込んでいるわけだから、そりゃ遅いわ。"prototype.js"を使わなくて良いのなら、3分の1くらいのサイズになるので軽くなるでしょ。

というわけで、ラベルを階層化したいところではありますが、ちょっと寄り道して表題の作業に取り掛かってみようと思います。




  1. まずは、jQuery Lightbox Pluginをダウンロードしてきます。左側にダウンロードリンクがありますので、zipファイルをダウンロードします。必要なファイルはまるっと一式入っています。
  2. zipファイルを展開し、「css」フォルダ及び「images」フォルダをGoogleサイトにアップロードします。このフォルダ構成のままアップロードしたと仮定すると、例えばimages内のgifファイルのURLは、「https://sites.google.com/site/[sitename]/home/images/[fiename].gif」のようになると思います。
  3. 残った「js」フォルダ内のファイルに少々細工をします。画像うにょーん化の際にも同じような作業をしましたが、これらのファイルはGoogleサイトに保存しますので、「jquery.lightbox-0.5.js」の中のgifファイルの記載がある部分を2で確認したURLにそれぞれ書き換えます。
    (「jquery.lightbox-0.5.js」の場合、7箇所ありました)
  4. 3で編集したファイルを保存し、「js」フォルダをGoogleサイトへアップロードします。これでjQuery Lightbox Plugin側の設定は完了です。
  5. 最後にブロガー側の準備です。ブロガーのメニューから「デザイン」 --> 「HTMLの編集」を選択します。


さて、jQuery導入後までのテンプレートの内容をまとめると、以下のようになっているのが現在の状況です。これをいじくっていきますが、テンプレート編集の際はバックアップをダウンロードしておくのはお約束で。

<head>

<!--Lightbox2用の記述-->
<script src='https://sites.google.com/site/forlightbox2/prototype.js' type='text/javascript'/>
<script src='https://sites.google.com/site/forlightbox2/scriptaculous.js?load=effects,builder' type='text/javascript'/>
<script src='https://sites.google.com/site/forlightbox2/lightbox.js' type='text/javascript'/>
<link href='https://sites.google.com/site/forlightbox2/lightbox.css' media='screen' rel='stylesheet' type='text/css'/>
<!--Lightbox2用の記述-->

<!--jQuery用の記述-->
<script src='https://sites.google.com/site/forjquery/jquery-x.x.x.min.js' type='text/javascript'/>
<script>
jQuery.noConflict();
</script>
<!--jQuery用の記述-->

これにjQuery Lightbox Pluginの設定を追記していきます。

まず、今回はjQueryでLightboxを動かすのが目的ですので、「prototype.js」で動かすために記述していた部分は削除しちゃいます。でもって、「prototype.js」と「jquery-x.x.x.min.js」の競合も無くなりますので、競合を回避するおまじないも不要。消しちゃいます。消すのはハイライト部分です。

<!--Lightbox2用の記述-->
<script src='https://sites.google.com/site/forlightbox2/prototype.js' type='text/javascript'/>
<script src='https://sites.google.com/site/forlightbox2/scriptaculous.js?load=effects,builder' type='text/javascript'/>
<script src='https://sites.google.com/site/forlightbox2/lightbox.js' type='text/javascript'/>
<link href='https://sites.google.com/site/forlightbox2/lightbox.css' media='screen' rel='stylesheet' type='text/css'/>
<!--Lightbox2用の記述-->

<!--jQuery用の記述-->
<script src='https://sites.google.com/site/forjquery/jquery-x.x.x.min.js' type='text/javascript'/>
<script>
jQuery.noConflict();
</script>
<!--jQuery用の記述-->

あとは、jQuery Lightbox Pluginの設定を記述して出来上がりです。ここはハイライト部分を追記します。

<!--jQuery用の記述-->
<script src='https://sites.google.com/site/forjquery/jquery-x.x.x.min.js' type='text/javascript'/>
<!--jQuery用の記述-->

<!--jQuery Lightbox Plugin用の記述-->
<link rel="stylesheet" type="text/css" href="https://sites.google.com/site/[sitename]/home/
css/jquery.lightbox-0.5.css" media="screen" />
<script type="text/javascript" src="https://sites.google.com/site/[sitename]/home/
js/jquery.lightbox-0.5.js"></script>
<script type="text/javascript">
$(function() {
  $('#gallery a').lightBox();
});
</script>
<!--jQuery Lightbox Plugin用の記述-->

これで、全ての準備が整いました。
うにょーんとしたい画像を<div id="gallery"></div>で囲むことで、うまいことうにょーんとなってくれます。以前に記述していた<a href="~">の中の「title="~"」は、そのままキャプションとして使えるみたいです。嬉しくなって今までの投稿で乗っけた画像全部にjQuery版うにょーんを施してみました。疲れた。まーでも気持ちサイト読み込みも速くなったような気が。

寄り道してしまいました。ラベルはまだまだ先が長そうです。つーか進捗無し。。。

0 件のコメント:

コメントを投稿

Related Posts Plugin for WordPress, Blogger...