builder by ZDNet Japanをご愛読頂きありがとうございます。

builder by ZDNet Japanは2022年1月31日にサービスを終了いたします。

長らくのご愛読ありがとうございました。

多機能画像ローダー:ImageLoader Utility

2007-10-12 19:47:01
  • このエントリーをはてなブックマークに追加

タイマーとの連動

 図1は、ImageLoader Utilityによって2つの画像を表示させた例だ。左の画像は10秒以内に画像の領域にマウスカーソルをかざすと画像を表示し、そうでなくてもページをロードしてから10秒後には画像を表示するようになっている。右の画像は、タイマーとは連動させずに、画像の領域をクリックしたら表示するようになっている。

 ちなみに、図1のページをロードした直後は、図2のように「〜 No Image 〜」という画像と外枠を先に表示して画像の領域を明示している。この領域はリスト2とリスト3により設定されたものだ。

図1 タイマーと連動して画像をロード(例)
図2 図1のページをロードした直後

リスト2 画像の表示領域(HTML)

10秒以内にマウスをかざして!
クリックすると表示します

リスト3 リスト2に対するCSS設定


 まず、左の画像に対する設定をリスト4に示す。

 最初にYAHOO.util.ImageLoader.group()によって画像をグループ化する範囲、連動させるイベントと、何秒後に画像を表示させるかを設定する。次にregisterSrcImage()によって表示位置(HTMLタグのID)と画像のURLと大きさを指定する。これにより、画像本来の大きさでなく、縮小/拡大したものを表示させることができる。最後にaddTrigger()でmouseoverイベントでも画像を表示できるようしている。

リスト4 図1左の画像に対する設定(JavaScript)


 右の画像に対しては、リスト5のように設定している。

 ページロード後の時間制限を用いない場合は、秒数を0より小さい値にしておく。こうしておくと、画像の領域がクリックされるまでの間はずっとデフォルト画像が表示されたままとなる。

 リスト4の設定はに対するものだが、リスト5は

に対する設定であることに注意が必要だ。ここでは画像を領域の背景として設定しているため、表示領域と画像の大きさとが整合しない場合に、画像の一部しか表示されないことなどがあるからだ。

リスト5 図1右の画像に対する設定(JavaScript)

// クリックしたら画像を表示(時間指定なし)
var img2 = new YAHOO.util.ImageLoader.group( 'image-group-example2', 'click', -1 );
// 画像を背景として表示
img2.registerBgImage( 'img-div', '図1右の画像のURL' );

ブログの新規登録は、2021年12月22日に終了いたしました。

folllow builer on twitter
このサイトでは、利用状況の把握や広告配信などのために、Cookieなどを使用してアクセスデータを取得・利用しています。 これ以降ページを遷移した場合、Cookieなどの設定や使用に同意したことになります。
Cookieなどの設定や使用の詳細、オプトアウトについては詳細をご覧ください。
[ 閉じる ]