Shadowbox.jsのインターフェイスを日本語に

[2011.4.27追記]
このページの記事内容はたいへん古い記述です。現行のShadowbox 3.x系統の記事をいくつかまとめてありますのでご参照ください。

Shadowbox.jsのキャプション位置を画像の下に変えてみる
http://www.tecking.org/archives/2293
RubyとRakeを使って カスタムShadowbox.jsを作る
http://www.tecking.org/archives/2307

以下、初出時の記事です。

ども。鉄王です。

「なにやら『Shadowbox.js』がステキらしい」と聞いて、今作ってるサイトに組み込んでみました。組み合わせたコアライブラリは最近の定番、jQueryです。

ハマったのが、画像ローディング中のアニメGIF(loading.gif)がなかなか表示されなかったこと。ダウンロードしたZIPファイルを展開して

/foo
- index.html(このページでShadowbox.jsを使ってサムネイル表示)
/bar
- /css
- /js
- /images

みたいな感じで放り込んだんですが、一向に表示される気配ナシ。

で、いろいろ試した結果、loading.gifのパス指定でしくじってました〜アヒ〜(恥)。loading.gifを相対パスで指定する場合、表示する(X)HTMLファイルを基準にして考えないとダメなんすよね。

(X)HTMLファイル(/foo/index.html)の<head>セクションには、こんなふうに書き込まないといけないわけで。

<script type="text/javascript">
    //<![CDATA[
        $(document).ready(function() {
            var options = {
                loadingImage: ’../bar/images/loading.gif’
            };
            Shadowbox.init(options);
        });
    //]]>
</script>

「var options = 〜」なんてオプションがあるから、てっきりshadowbox.jsを基準にした相対パスでいいものだと思ってましたわ。

ついでについでに。

『Shadowbox.js』って英語圏のライブラリなんで、拡大表示したときの「Close」「Previous」「Next」などの表記(テキストリンク)を日本語にしたい!ってケースがあると思います。そんなときは、上記の「var options = 〜」の部分を、ごにょごにょとこんなふうに。

<script type="text/javascript">
    //<![CDATA[
        $(document).ready(function() {
            var options = {
                loadingImage: ’../../bar/images/loading.gif’,
                text: {
                    cancel: ’キャンセル’,
                    close: ’閉じる’,
                    prev: ’前の画像’,
                    next: ’次の画像’
                }
            };
            Shadowbox.init(options);
        });
    //]]>
</script>

まだまだ奥が深そうなので、ぼちぼち攻めていきますぜ。


コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

*

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <img localsrc="" alt=""> <pre lang="" line="" escaped="" highlight="">