under_line.gif
 画像をpopupさせるLightview #3  Posted at 2008/06/14 (Sat) 01:03 [Blog]

この関連のトピックを見て頂ければわかると思いますが、Lightbox JSの方は、prototype.jsがなかったので、無事に設置できたんですが、友達が教えてくれたLightbox 2には、prototype.jsが必須で、firefoxでは、ちゃんとエラーも出ず表示されるにも関わらず、IEで見ると、サイト自体にアクセスできない状態になってました。原因はprototype.jsとサイドバー折り畳みスクリプトがバッティングしてて、それが原因だった様子。

そこで、私が見つけ出してきたのが、

prettyPhoto - jQuery lightbox clone - by Stephane Caron

これは、prototype.jsを使用しないでjQueryというライブラリを使用するという物。これを設置してみたんですけど、途中で、見つけたLightviewというスクリプトが高機能で、尚且つカッコイイという事で、どうしても、これを設置したくて、prototype.jsが使えるように、原因を調べて、バッティングしてたサイドバー折りたたみスクリプトをはずしてみたら、IEでもすんなり動くようになりました。

Lightview

設置方法

まずは、lightviewをダウンロードしてきます。展開したファイルの自分の環境に合わせて、アップロードします。次にscriptaculous.jsと、そのZIPファイルに一緒に入っているeffects.jsをアップロードします。(先にダウンロードしたlightviewを同じディレクトリに入れるのが簡単かと。)

そして、自分の環境に合わせて、head内にパスを記述します。

<link rel="stylesheet" type="text/css" href="css/lightview.css" />  
<script type="text/javascript" src="http://www.google.com/jsapi"></script>  
<script type="text/javascript">google.load("prototype", "1.6.0.2");</script>  
<script type="text/javascript" src="js/scriptaculous.js?load=effects"></script>  
<script type="text/javascript" src="js/lightview.js"></script>

今回は、Google AJAX APIを使って、jQueryやPrototypeなどをgoogleからダウンロードし、、自分のサーバーにjquery.jsprototype.jsを設置する事なく使えちゃいます。今回はこの方法を取りました。なぜかというと、メリットが大きいからです。(だいたい自前で設置すると、prototypeが重過ぎるんだよ(´д`))

  • バージョン指定を最後までしないことで最新版を利用できる
  • バージョン指定が簡単に出来る
  • Gzip圧縮転送を自動で行ってくれてファイルは可能なかぎり最小化される

画像単体で表示する場合の記述方法

hrefに拡大画像のURLと"lightview"のclass属性をつけます。

<a href="image.jpg" class="lightview"><img src="image_samneil.jpg" border="0" alt="" width="" height="" /></a>

画像にコメントを表示

1.<a href="leopard.jpg" title="A title" class="lightview" >Leopard</a>  
2.<a href="gazelle.jpg" title="This image has a title :: And a caption" class="lightview">Gazelle</a>  
3.<a href="cheetah.jpg" ttitle=":: I don"t have a title, just a caption" class="lightview">Cheetah</a> 

"This image has a title :: And a caption" の場合、This image has a title の部分に画像のタイトルを、::を挟んで And a captionに、画像の見出し説明文を指定すれば、表示されます。

iframeで他サイトをpopupで表示

<a href="http://www.google.com" rel="iframe" title="Google :: :: fullscreen: true" class="lightview" >Google</a>  
<a href="http://www.yahoo.com" rel="iframe" title="Yahoo :: A caption :: width: 800, height: 600" class="lightview" >Yahoo</a> 

例のごとく、title属性に "画像ファイルのタイトル :: 見出し(説明) :: width: 800, height: 600" といった感じで、フルスクリーンからサイズ指定してのiframeをpopupしてくれます。

その他のメディアファイルの指定の仕方は、本家サイトでの説明をご活用下さい。

lightview.jsが何故素晴らしいかと言うと様々なメディアファイルをLighboxのように表示出来ちゃうんです。扱える画像も「画像」「動画(Quicktime)」「FLASH(swf)」「AJAX」「iframe」「HTML(inline content)」と幅広く、使いこなせたら、かなり便利な代物です。フォームなんかも、このスクリプトを使えば、できちゃいますしね。

と、言うわけで、うちでは、このスクリプトを使っていきたいと思います。せっかくprototypeいれたので、そちらの方で、折りたたみを実現しようかなーって思ってます。うまくいくかわかりませんけどね。(´д`)

参考サイト

様々なメディアファイルをかっこよく表示してくれるlightview.js | CSS Lecture
EyesPic - フリー画像素材
Google AJAX APIを使ってjQueryやPrototypeを読み込む | CSS Lecture
Ajaxload - Ajax loading gif generator

Edit this entry... (webmaster only)
 wikieditish message: Ready to edit this entry.












bottom_line
under_line.gif