- 索引
- 1章:jQuery入門
-
- ├ jQueryのメリット
- ├ readyイベント
- ├ オブジェクトについて
- ├ メソッドについて
- ├ 情報の取得
- ├ イベント(1)
- ├ イベント(2)
- └ 初歩なサンプル
- 2章:jQuery基礎
-
- ├ thisについて(1)
- ├ thisについて(2)
- ├ jQueryとDOM要素
- ├ 簡単な演出
- ├ thisから辿る
- ├ 汎用的なアニメ(1)
- ├ 汎用的なアニメ(2)
- ├ アニメの停止
- ├ アニメを管理する仕組み
- └ 汎用的なアニメ(3)
- 3章:jQuery発展
-
- ├ イベントフロー(1)
- ├ イベントフロー(2)
- ├ イベントフロー(3)
- ├ 画像のプリロード
- ├ jQueryの高速化
- └ メソッドチェーン
- 番外編:研究
-
- ├ イベントを外す
- ├ cssアニメとの連携(1)
- ├ cssアニメとの連携(2)
- ├ cssアニメとの連携(3)
- ├ セレクタの自作(1)
- ├ セレクタの自作(2)
- ├ クロージャ(1)
- ├ クロージャ(2)
- └ クロージャ(3)
toggleイベント
クリックされる度に処理を変更するイベント
ボタンの種類にトグルボタンというのがあります。これはクリックされる度に実行内容が変わるボタンでON/OFFが切り替わるスイッチもトグルボタンの1種なのです。
toggleイベントは、このようなトグルボタンを実現するためのイベントで、hoverイベント同様にイベントの()内に複数の処理を設定します。
構文は以下の様になっており、hoverイベントと似ていますが()内に2つ以上のfunctionを設定できる点が異なります。機能としてはクリックに反応し、最初にクリックしたときは処理1が実行され、次にクリックしたときは処理2が実行され、次は処理3を実行というようになっています(最後の処理が実行されると、再び処理1に戻ります)。設定できるfunction数に制限はありませんが、大抵はスイッチを作成するために利用するので2つの場合がほとんどでしょう。
- toggleの構文
- $(セレクタ).toggle(処理1, 処理2, 処理3, … )
では実際にサンプル(02/04_01.html)で機能を確認してみましょう。今回も構造が分かりやすいように、あらかじめfunctionを設定しています。まずは以下のソース8行目を確認して下さい。toggleイベントが利用され、最初にonFunc次にoffFuncが実行されるようになっています。最後の処理が終わると最初に戻るためonFuncとoffFuncが交互に実行されることになります。
onFunc(1〜3行目)とoffFunc(4〜6行目)は、ほとんど前回のサンプル(02/03_01.html)と同じで、
cssメソッドによって背景色を変更しているだけです。では実際にdiv領域をクリックして、背景色がオレンジ→青→オレンジ→青と交互に切り替わるのを確認してください。
function onFunc() {
$("div").css("background-color", "#F93");
}
function offFunc() {
$("div").css("background-color", "#09C");
}
$(function () {
$("div").toggle(onFunc, offFunc);
});
ついでにtoggleイベントの()内に処理を3つ設定したサンプルを作成しました。サンプル(02/04_02.html)を開いてjQueryのソースをを確認して下さい。以下の様に設定したので、クリックの度にorangeFunc → greenFunc → blueFunc(以下繰り返し)と順々に実行されていきます。実際にクリックして色がオレンジ→緑→青と変化することを確認して下さい。
$(function () {
$("div").toggle(orangeFunc, greenFunc, blueFunc);
});
toggleイベントの説明は以上です。toggleはイベント以外にも
toggleメソッドというがあり、構文が異なるので注意しましょう。toggleメソッドに関しては3章アニメーションで説明します。
ここまでが初心者向けイベントの説明です。この先は中級者以上向けのイベントを紹介しようと思うのですが、jQueryはver1.7から中級者以上向けのイベントが整理され、1.6までのイベントは使わなくても良いようになりました。しかしネットや書籍の情報はver1.6以前のものが多く、独学で知識を広げるためには1.6以前のイベントについても知っておいた方がよいと思うので、次回簡単に紹介しようと思います。
次のページ:ver1.6までのイベント達