LoginSignup
0
0

More than 3 years have passed since last update.

ProgateでjQueryを学ぶ(初級編)

Last updated at Posted at 2019-08-28

気になるスライドだけ貼り付けていきます(^^)

image.png

image.png

メソッドをRubyで勉強してきたので、直感的にイメージがしやすくなっていることと、引数であったり、JavaScriputのライブラリだから、最後に;をつけるとか納得だらけ:relaxed:

プログラミング学習は、分からなくても、どんどん次にいくことの大切さを実感♪

練習でのミス⇒fadeInの引数をslowにしようと思ったが、
正しくは、'slow'と入れなければいけなかった(´;ω;`)

イベントとは?

イベントを用いると、ある処理を行うタイミングを設定できます。WEBページ内で、ユーザーによってクリックなどの操作が行われた時、あらかじめイベント内に指定した処理を実行します。
イベントの構文は、$('セレクタ').イベント名(function(){ });のように書きます。

image.png

clickイベント

clickイベントを用いると、「セレクタがクリックされた時に処理をする」ことができます。
例えば、ボタンをクリックしたときに関連する文章を表示する、といったイベントを設定できます。下図の例では、ボタンをクリックすると文章を隠すというイベントを作成しています。

image.png

cssメソッド

CSSメソッドは、CSSを変更できるメソッドです。1つ目の引数にCSSのプロパティを、2つ目の引数にプロパティの値をいれます。

image.png

cssメソッドで要素の文字の色を変更したいときは、
$('セレクタ').css('color', 'red');のように記述します。
widthやfont-sizeなど他のプロパティもすべてcssメソッドで変更することができます。

image.png

cssメソッドでdisplayプロパティの値を変更することもできます。$('セレクタ').css('display', 'none');はhideメソッドと全く同じです。このようにhideメソッドやshowメソッドは、実はdisplayプロパティの値を変更しているだけだということを覚えておきましょう。

image.png


$(function() {
  // 「#change-css」要素に対するclickイベントを作成してください
  $('#change-css').click(function() {
    $('#text').css('color', 'red');
    $('#text').css('font-size', '50px');
  });

});

jQueryではCSSだけでなく、textメソッドを用いることでHTMLそのものを変更することも出来ます。textメソッドは、$('セレクタ').text('書き換える文字列');のように記述します。

image.png

htmlメソッドは、要素の中身のHTMLを書き換えることが出来ます。textメソッドと違い、htmlメソッドの引数は、単なる文字列ではなくHTMLだということです。例えば下図の例をtextメソッドで行うと、タグもそのまま文字列としてブラウザに表示されますが、htmlメソッドならタグがHTMLタグと認識され、ブラウザには「こんばんは」とだけ表示されます。

image.png

thisの構文

$(this)はイベントの中で、そのイベントが起こった要素を取得することができます。$()の中でthisをクォーテーションで囲まないことに注意してください。

$(this)は非常に重要な概念なので覚えておきましょう。
image.png

thisはイメージしにくいので、具体例を見てみましょう。例えば下図のように、複数のli要素にclickイベントが設定されていた場合、クリックされた時に、実際にクリックされたli要素にだけ処理を行いたい場合があります。このようなときはthisを用いて、実際にイベントが起こった要素を取得しましょう。

image.png

アニメーション1.gif

変数を使おう

同じjQueryオブジェクトを複数回使用する時は変数にしましょう。コードが見やすくなる上、jQueryの処理が高速化されます。 JavaScriptと同じく、jQueryで変数宣言にはvarを用います。変数には文字列や数値、jQueryオブジェクトなどを格納することができますが、jQueryオブジェクトを格納する時は、わかりやすいように変数の頭に$を付けるのが慣例となっています。

image.png

同じjQueryオブジェクトを複数回使用する時は、メソッドチェーンを使うことでも処理速度を高速化できます。 メソッドチェーンとは1つのjQueryオブジェクトに連続してメソッドが利用できる構文です。$('セレクタ').メソッド().メソッド()...のように書くことで、それぞれのメソッドが適用されます。

image.png

findメソッドは、すべての子孫要素(自分よりも下の階層の要素すべて)の中から、指定したセレクタを持つ要素を取得したいときに用います。下図の例では、

から
の中にあるすべてのa要素を取得することができます。

image.png

childrenメソッドは、指定したセレクタが持つ子要素(一階層だけ下)の中から指定したセレクタに合致した要素を取得したいときに用います。下の例では

の子要素はaタグとpタグが1つずつなので、aタグが1つ取得されます。

image.png

hoverイベント

hoverイベントとは、要素にマウスが乗った時、外れた時に指定した処理を行うイベントです。下図のように「jQueryとは?」にマウスが乗った時にだけ、説明文が表示されるようにしてみましょう。

hoverイベントは、 $('セレクタ').hover(マウスをのせた時の処理, マウスをはずした時の処理);のように書きます。clickイベントと違い、引数を2つ書くことに注意しましょう。引数の間はコンマで区切ります。

image.png

hover(第一引数=マウスを乗せた時の処理、第二引数=マウスをおろした時の処理)

という部分を意識しましょう♪

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0