日記/2009-9-17

最終更新時間:2009年09月17日 11時47分24秒

Shadowbox.js 3.0bでスライドショーをpauseで始めるための改造

 

 jQueryを利用したプラグインの、jQshadowbox プラグインでは、LightBox風スクリプトShadowbox.jsを用いています。
 このShadowbox.jsでスライドショー表示の指定を行うと、画像表示と同時にスライドショーが開始されてしまいます。これを、スライドショーが一時停止された状態で画像表示がなされるようにしたい!と思っていました。
 同じことを考えている人はいるもので、こちらのページにそのための改造法が記されているのですが、これがバージョン2.0に対するもので、2009/04/09にリリースされた3.0bには適用できませんでした。
 残念!と思っていたら、Shadowbox.js本家のサイトの掲示板に投稿された同じ趣旨の質問に対して、3.0bに適用できる改造法が記されているのを見つけました(正確には、「Open slideshow "paused"」と「"continuous loop"」の2つの質問に対して、回答は前者のもののみ。でも私にはこれで充分。ありがとうございます!)。

 ただし、上記の回答は、コメントや改行などが記載されているソースコードに対するもの(Downloadのページで、「source」を指定した場合にダウンロードされるもの)で、コメントや改行をなくしてメモリ使用量を少なくした、より一般的に使用されると思われるもの(「build」を指定した場合のもの)については、どこを書き換えたらいいのか、よくわかりません(特に、修正箇所をソースコード中のコメントで指示している二箇所目がわかりにくい)。
 そこで、こちらのページに、「build」の改造後のコードを示しておきます。書き換えるのは赤字の部分の2箇所です。

 本サイトにインストールされているshadowbox.jsにもこの改造を施してみました。不具合がないかどうか、様子を見てみようと思います。
 このスクリプトを使っているjQshadowbox プラグインの使用例は、こちら

追記

 2010/06/18に、Shadowbox.js 3.0.3でスライドショーをpauseで始めるための改造に対応。本サイトで使用されているshadowbox.jsもバージョン3.0.3に対してこの改造を施したものとなっています。