はじめてのjQuery
目次 ソース
はじめてのjQuery
なぜjQueryを使うのか
デザイナ寄りのJavaScriptライブラリだから
他のJavaScriptライブラリはプログラマじゃないと敷居が高い orz...
ぶっちゃけ
CSSできるならjQueryもできる(ようになるはず)
それをおいておいても
早い (ソースが軽く軽快)、安い (学習コスト)、うまい (高機能)
三拍子揃ってる
今より少し知識を補充するだけでいろんなことができるようになります
表面的な知識で終わらず
ある程度使いこなせるようになるため
お作法を覚えましょう
ちょっとjQueryを取ってくる
jQueryの本家サイト
「J」って言ってるのに Japanじゃないお (/_;)
はいはい
ダウンロードしたら読み込み準備
head要素の中でjQueryを読み込みます
<head>
  <title>たいとる</title>
  <meta http-equiv="Content-Script-Type" content="text/javascript" />
  <script type="text/javascript" src="js/jquery.js"></script>
</head>
CSSの読み込みとほとんど同じですね
次は自分で作るjsファイルを読み込みます
<head>
  <title>たいとる</title>
  <meta http-equiv="Content-Script-Type" content="text/javascript" />
  <script type="text/javascript" src="js/jquery.js"></script>
  <script type="text/javascript" src="js/original.js"></script>
</head>
準備完了
これからお作法を学んでいきます
すでに(X)HTMLとCSSにて要素、属性、 セレクタ、プロパティが使えているはずなので
学ぶことはふたつ
魔法の呪文とメソッド
魔法の呪文
original.jsという空のファイルを作って、その中に魔法の呪文を唱えます
前ッ!!
$(function() {


//魔法の呪文が発動しました



});
$(function() {


//魔法の呪文が発動しました
//この中にいろんなコードを書いていきます


});
押さえるべき基本
○○を○○した時○○を○○する
jQueryで
○○を○○した時○○を○○する
を記述するといろんなことができます
実際のコードも○○を○○した時○○を○○するが基本になります
CSSでこれに近いお作法を使っていますね
/* CSS */
a:link {
  color: black;
}
a:hover {
  color: red;
}
/* CSS */
a:link {
  color: black;
}
a:hover {
  color: red;
}
aをhoverした時colorにredをセットする (そうでない時はblack)
jQueryではこう書きます
/* jQuery */
$('a').hover(
  function() {
    $(this).css('color', 'red');
  },
  function() {
    $(this).css('color', 'black'); 
  }
);
aをhoverした時colorにredをセットする (そうでない時はblack)
うっ、、、 難しい orz...
jQueryが使えれば CSSでできなかったことができるようになるので少しだけがんばりましょう
さっきのコードを解読してみましょう
○○を○○した時○○を○○するが少し複雑になっただけです
/* jQuery */
$('a').hover(
  function() {
    $(this).css('color', 'red');
  },
  function() {
    $(this).css('color', 'black');
  }
);
※黒字の箇所は魔法の呪文です テクマクマヤコンと唱えてください
/* jQuery */
aを.hover(
  function() {
    $(this).css('color', 'red');
  },
  function() {
    $(this).css('color', 'black');
  }
);
※黒字の箇所は魔法の呪文です テクマクマヤコンと唱えてください
/* jQuery */
aを.hoverした時(
  function() {
    $(this).css('color', 'red');
  },
  function() {
    $(this).css('color', 'black');
  }
);
※黒字の箇所は魔法の呪文です テクマクマヤコンと唱えてください
/* jQuery */
aを.hoverした時(
  function() {
    それ(a)の.css('color', 'red');
  },
  function() {
    $(this).css('color', 'black');
  }
);
※黒字の箇所は魔法の呪文です テクマクマヤコンと唱えてください
/* jQuery */
aを.hoverした時(
  function() {
    それ(a)の.CSSの('color', 'red');
  },
  function() {
    $(this).css('color', 'black');
  }
);
※黒字の箇所は魔法の呪文です テクマクマヤコンと唱えてください
/* jQuery */
aを.hoverした時(
  function() {
    それ(a)の.CSSの(colorに, redをセットする);
  },
  function() {
    $(this).css('color', 'black');
  }
);
※黒字の箇所は魔法の呪文です テクマクマヤコンと唱えてください
/* jQuery */
aを.hoverした時(
  function() {
    それ(a)の.CSSの(colorに, redをセットする);
  }そうでない時
  function() {
    $(this).css('color', 'black');
  }
);
※黒字の箇所は魔法の呪文です テクマクマヤコンと唱えてください
/* jQuery */
aを.hoverした時(
  function() {
    それ(a)の.CSSの(colorに, redをセットする);
  }そうでない時
  function() {
    それ(a)の. …の ( …に, blackをセットする);
  }
);
※黒字の箇所は魔法の呪文です テクマクマヤコンと唱えてください
これがお作法です
応用してみましょう
/* jQuery */
$('p').click(
  function() {
    $('dl').css('margin-left', '50px');
  }
);
/* jQuery */
$('p').click(
  function() {
    $('dl').css('margin-left', '50px');
  }
);
pをクリックした時 dlのmargin-leftに 50pxをセットする
こんな感じでいくらでも応用がききます
おさらい
○○を○○した時○○を○○する
おおざっぱにjQueryで表現すると
/* jQuery */
$(CSSセレクタ).イベント(function() {
  $(CSSセレクタ).メソッド;
});
/* 無理矢理日本語に当てはめた場合
○○を.○○した時(function() {
  ○○を.○○する;
}); */
大体こんな感じで記述できるので
メソッドを押さえるだけである程度のことはできる、慣れの問題です
デザイナは、あと一歩で手が届く技術
リファレンスを使おう
セレクタ、イベント、メソッドで jQueryが記述できるとわかったら
リファレンスを使いながら必要な情報を調達して動かしてみましょう
jQuery日本語リファレンス
jQuery日本語リファレンス
http://semooh.jp/jquery/
このサイトを使いつつ
必要なセレクタと必要なイベントと必要なメソッドの情報調達をします
必要なセレクタを探す
Selectors
セレクタはSelectorsという項目で情報調達できます
覚えるべきセレクタ
$('#id')
$('.class')
$('Element')
$('Element element')
基本的にCSSとほぼ同じ書き方
特に文書内一意のid属性は非常に使いやすい
プログラマもよく使う値なので相談しながら設定しましょう
必要なイベントを探す
Events
イベントはEventsという項目で情報調達できます
覚えるべきイベント
$('セレクタ').hover(over, out)
$('セレクタ').toggle(fn1,fn2~)
$('セレクタ').click()
$('セレクタ').blur()
$('セレクタ').change()
$('セレクタ').focus()
イベントは単語そのままなのですぐ覚えられます
必要なメソッドを探す
Attributes、Manipulation、CSS、Effectsあたり
Attributes 属性に関するメソッド Manipulation 要素に関するメソッド CSS CSSに関するメソッド Effects エフェクト効果に関するメソッド
メソッドはケースバイケースですがHTML、CSS、エフェクトは操れるようになるといいと思います
最後に
jQueryを卒業して
DOMを直接操れるようになると
いつの日か連邦のMSにも勝てる日がくるさ
○E潰そう的な意味で
それでは今回はこれにて
さようなら
作った動機とか目的とか
http://d.hatena.ne.jp/jdg/20081127/1227747020
作った人
その他のコンテンツ等のリンク集