クリックされるたびに異なる命令を実行する toggle()クリックされるたびに異なる命令を実行したいときに便利なのが、toggle()です。括弧内に function(){...} を,(カンマ)区切りで複数設定でき、クリックされた順番に命令を実行していきます。設定してある命令が最後まで実行されたら最初の命令に戻って繰り返します。 以下のサンプルでは、ボタンをクリックするたびに表示される画像が切り替わります。 ▼サンプル10(スクリプト部分) ▼サンプル10((X)HTML部分) ▼サンプル10(実行結果)
マウスオーバー/マウスアウトを感知する mouseover() と mouseout()mouseover() と mouseout()は、特定の要素上にマウスが重なったタイミングを感知して、設定された命令を実行します。ナビゲーションメニューでおなじみのマウスオーバー効果でおなじみですね。mouseover() と mouseout() は多くの場合、組み合わせて使います。 ■mouseover()mouseover() は、特定の要素上にマウスカーソルが重なったときに、命令を実行します。 ■mouseout()mouseout() は、特定の要素上にマウスカーソルが外れたときに命令を実行します。 以下のサンプルでは、img要素にマウスカーソルが重なった際に、img要素のsrc属性の値を「sea.jpg」に、alt属性の値を「海」に書き換えます。マウスカーソルがimg要素から外れた際には、img要素のsrc属性の値を「flower.jpg」に、alt属性の値を「花」に書き換えます。 ▼サンプル12(スクリプト部分) ▼(サンプル12)((X)HTML部分)
マウスの動きに合わせて命令を実行する mousemove()mousemove() は、特定の要素上でマウスカーソルが動いた場合に命令を実行できます。 実際に mousemove() を利用するのは、座標などの情報を取得する命令と組み合わせるケースがほとんどです。ここでは詳しく説明しませんが、mousemove() 内の function() を function(e) としておくと、イベント発生時にe.clientXで現在のマウスのX座標、e.clientYでマウスのY座標を取得できます。以下は、img要素上でマウスカーソルが動いている際に、カーソルのX座標とY座標をp要素に書き出すサンプルプログラムです。 ▼サンプル13(スクリプト部分) ▼サンプル13((X)HTML部分) ▼サンプル13(実行結果)
X座標とY座標は、ブラウザーの左上からマウスカーソルまでの距離をピクセル単位で取得できます。 【JavaScriptワンポイントメモ】 JavaScriptによるテキストの結合mouseover() のサンプルでは、以下のようなコードが登場しました。
これまで解説してきたように、jQueryではさまざまな値を取得できますが、上のコードのように取得した値と、任意のテキストや(X)HTMLを組み合わせる場合は、テキストを結合する必要があります。 JavaScriptでテキストを結合するには、テキストや(X)HTMLを"(ダブルクオーテーション)の内側に記述し、+(プラス)で並べていきます。たとえば先ほどのコードで、e.clientXが「380」、e.clientYが「48」という値になる場合、設定される(X)HTMLは「現在のX座標:380<br />現在のX座標:48」になります。 |
jQueryのイベントをチュートリアルで学ぶ(前編) 続き
最新推荐文章于 2024-08-12 22:28:07 发布