このページの本文へ

前へ 1 2 3 次へ

  • twitterでつぶやく
  • はてなブックマークに登録
  • del.icio.usに登録
  • livedoorクリップに登録
  • Buzzurlに登録
  • StumbleUponに登録
  • Google Bookmarksに登録
  • Facebookでシェア
  • Yahoo!ブックマークに登録
  • お気に入りに登録
  • 本文印刷

Web制作の現場で使えるjQuery UIデザイン入門 ― 第23回

jQuery+CSSによるカルーセルパネルの作り方

2009年12月11日 11時00分更新

文● 西畑一馬/to-R


【クライアントのわがままに応える!】

カルーセルパネルを自動的にスライドさせたい!

 「もっと目立たせたいので、勝手にスライドするようにしてほしい」。タイマーを仕込めば、ユーザーがクリックしなくても一定間隔で自動的にスライドするカルーセルパネルを作れます。

 タイマーを設定するには、サンプル01のスクリプトの$(function(){...})内に次のコードを追加します。

サンプル02(スクリプト部分)


var timerID = setInterval(function(){
    $("#carouselNext").click()
},5000)


 setInterval()はJavaScriptの命令で、function(){...}内に記述した処理を一定間隔で繰り返し実行します(タイマー処理)。実行する間隔はfunction(){...}の後ろの,(カンマ)に続けてミリ秒で設定します。サンプル02の場合は5000ミリ秒、つまり5秒ごとに処理を実行します。

 setIntervalの前にある「var timerID = 」は、setIntervalのタイマーIDを「timerID」という名前の変数(値を一時的に入れておく場所)に保存するための記述です。「タイマーID」というID情報を持っており、タイマーIDはタイマーを停止する際に使用します。

 $("#carouselNext").click()は、「#carouselNextに設定されているclickイベントを実行する」という意味です。これで5秒ごとに「進む」ボタンと同じ処理が繰り返し実行されます。

 ただしこのままだと、サイトを訪れたユーザーがカルーセルを操作できないため、ボタンがクリックされたときは以下のようにしてタイマー処理を停止させます。

サンプル02(スクリプト部分)


$("#carouselPrev img,#carouselNext img").click(function(){
    clearInterval(timerID);
})


 #carouselPrevや#carouselNextにはすでにclickイベントを設定していますので、タイマーの停止はその内側のimg要素に対して設定します。clearInterval(timerID);で、先ほど変数に保存したsetIntervalのID情報を元にタイマー処理を停止できます。



著者:西畑一馬(にしはた かずま)

著者写真

to-R代表、Webクリエイター。PHPによるシステム開発や、CMSを利用したWebサイト制作、SEO対策などのマーケティング、コンサルティング、Webクリエイター向けの講座などを業務で行なっている。また、ブログto-RではJavaScriptやSEO対策、CSS、Movable TypeなどのWeb制作にかかわるさまざまな情報を発信している。
主な著書に「現場のプロから学ぶXHTML+CSS」(共著、毎日コミュニケーションズ刊)がある。

前へ 1 2 3 次へ

カテゴリートップへ

この連載の記事

ASCII.jp会員サービス 週刊Web Professional登録

Webディレクター江口明日香が行く

みんなが買ってる最新アイテムはコレだ!

Microsoft Windows 7 Home Premium 通常版 Service Pack 1 適用済み

iPhone 4S/4 防指紋性・高光沢機能性フィルム PRO GUARD AF for iPhone 4S/4 / PGAF-IPH4

iPhone 4S/4 防指紋性・高光沢機能性フィルム PRO GUARD AF for iPhone 4S/4 / PGAF-IPH4

マイクロソリューション Micro Solution Inc.

83人が購入

BenQ 24型 LCDワイドモニタ XL2420T

BenQ 24型 LCDワイドモニタ XL2420T

ベンキュージャパン

37,238円〜

3人が購入

jQuery Mobile スマートフォンサイト デザイン入門 (WEB PROFESSIONAL)

jQuery Mobile スマートフォンサイト デザイン入門 (WEB PROFESSIONAL)

アスキー・メディアワークス

2,499円〜

20人が購入

メモリーカード 32GB (PCH-Z321J)

メモリーカード 32GB (PCH-Z321J)

ソニー・コンピュータエンタテインメント

7,772円〜

6人が購入

Amazon.co.jp