jQuery - JavaScript
jQueryとは
『jQuery』
http://jquery.com/
- JavaScriptライブラリ
- 2006年リリース
- John Resig (ジョン・レシグ)
『John Resig - JavaScript Programmer』
http://ejohn.org/
現在の最新バージョン(2014年9月現在)
- IE互換版(PC) : 1.11.1
- IE非対応版(Mobile) : 2.1.1
※ JavaScriptとは
- EcmaのECMAScript + W3CのDOM = JavaScript
- DOM操作、通信、ストレージ制御、グラフィック制御、メディア操作
jQueryの特長
-
クロスブラウザ実装に適している
-
ドットシンタックスのシンプル、軽量、CSSライクな構文
-
CSSとの高い親和性
-
Ajax、コールバック取得など複雑な実装も容易
-
プラグインが豊富、プラグイン開発が手軽に行える
-
圧倒的なシェア : 利用Webサイト60.1% JSライブラリ中94.0%
『W3Techs - extensive and reliable web technology surveys』
http://w3techs.com/
※ jQuery ≠ jQuery Mobile
- jQueryとjQuery Mobileは別物
- jQuery Mobileの利用メリットはほとんどない(私見)
jQueryの基本構文
基本構文
jQuery(‘.sample’).html('text'); (以下”$”)
$('.sample').html('text');
$(selector).method(value);
$(セレクタ).メソッド(値);
セレクタ
$('[element]').html('text');
$('#[id]').html('text');
$('.[class]').html('text');
$('[[attribute]]').html('text');
$('[[attribute=value]]').html('text');
Event Handling (delegate)
$(document).on('click', '.sample', function () {
sampleFunction();
});
document ready
$(document).ready(function() {
sampleFunction();
});
$(document).ready(sampleFunction);
■ 省略型
$(function() {
sampleFunction();
});
$(sampleFunction);
window load
$(window).load(function() {
sampleFunction();
});
$(window).load(sampleFunction);
method
『jQuery API Documentation』
http://api.jquery.com/
本講座で取り扱うメソッド
取得系
| メソッド | 内容 |
|---|---|
| $().text(); | テキストの取得と設定 |
| $().html(); | HTMLコードの取得と設定 |
| $().on(); | イベント(delegate)の設定 |
| $().off(); | イベント(delegate)の解除 |
| $().height(); | 高さの取得と設定 |
| $().scrollTop(); | スクロール量の取得 |
| $().css(); | CSS要素の取得と設定 |
on、height、scrollTop
css
処理系
| メソッド | 内容 |
|---|---|
| $().fadeIn(); | フェード処理により表示状態に遷移 |
| $().fadeOut(); | フェード処理により非表示状態に遷移 |
| $().fadeToggle(); | fadeIn処理とfadeOut処理の反復 |
| $().slideDown(); | 縦スライドにより表示状態に遷移 |
| $().slideUp(); | 縦スライドにより非表示状態に遷移 |
| $().slideToggle(); | slideDown処理とslideUp処理の反復 |
| $().addClass(); | class値を付与 |
| $().removeClass(); | class値を削除 |
| $().toggleClass(); | addClass処理とremoveClass処理の反復 |
【WORKSHOP1】 書いてみましょう1
<p></p>
$('p').html('テキスト').css({'color': '#f00'});
fadeIn、fadeOut、fadeToggle
slideDown、slideUp、slideToggle
addClass、removeClass、toggleClass
http://codepen.io/sekiyaeiji/pen/igeqd?editors=011
【WORKSHOP3】 動かしてみましょう
↑ こちらを[Fork]
slideToggleを利用した、ブロックの表示・非表示の処理を書いてみましょう
うまく動いたら、fadeToggleも試してみましょう
モダン実装 : jQuery + CSS Animation
jQuery(JS)アニメーションより処理が軽い
slide
fade
http://codepen.io/sekiyaeiji/pen/tuGny?editors=011
JavaScriptの基本構文
即時関数
(function () {
[JS Code]
})();
定義
var sampleVariable = 'サンプルテキスト';
関数
function sampleFunction ([引数]) {
[処理]
}
条件文
if ([条件式]) {
[処理]
}
else if ([条件式]) {
[処理]
}
else {
[処理]
}
デバッグログ
console.log([変数]);
console.log('[ログコメント]');
コメントアウト
// 1行コメント
/*
複数行
コメント
*/
【WORKSHOP2】 書いてみましょう2
$(window).load(function() {
console.log('window load');
});
$(document).ready(function() {
console.log('document ready');
});
jQuery実装
jQuery読み込み
google api利用
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
jQuery実装 1 モーダルウィンドウ
http://codepen.io/sekiyaeiji/pen/qbush?editors=011
jQuery実装 2 スクロールハンドリング
http://codepen.io/sekiyaeiji/pen/FhvGi?editors=011
jQuery実装 3 パララックスの基礎