More Related Content
Similar to ⑲jQueryをおぼえよう!その5 (20)
More from Nishida Kansuke (20)
⑲jQueryをおぼえよう!その5
- 3. 注意事項
• この資料の中には、2012/05時点での事実が書いてあるつもりです
が、時代とともに移り変わる情報もあるので最新情報のチェックも
忘れずに!
• 主観に基づく事柄もあります。そんな場合は、この色でコメントす
るようにしています!信じるか信じないかはあなた次第!
• ざっくり説明するために、簡単に説明しています。厳密にいうと
ちょっと違う部分もあるかと思います。でもまあ、だいたいあって
る(はず)。
• 過去の環境(IE6とかIE7とか、PHP4とか)には採用されていない
話もあるので、その辺をターゲットにする場合は注意(無視してい
いと思うけど)
• リンクは日本語訳がある場合はそっちにリンクしています。公式情
報ではないので、仕事で使う場合は原文を確認しましょう。
- 7. AJAXにちょうせん
• ajaxってなに?
• JSONってなに?
• JSONPってなに?
• jQueryでajaxしてみよう
- 8. AJAXってなに?
• ウェブブラウザ内で非同期通信を行う技術
• Asynchronous JavaScript + XML の略
• ページ切り替え無しでデータの送受信ができる
• ブラウザごとに差異がある(javascriptのプログラムを分ける必要
がある)
• XMLの略!とかいいつつ主流はJSON形式
• 別のドメインのデータは読めないという制限がある。(クロスドメ
イン対策)
• XMLHttpRequest Level 2を使えば、別ドメインのデータも読め
るようになる。(FLASHのcrossdomain.xmlに似ている感じ。読
み込まれる側のサイトに設定が必要)
• ヘッダに以下の情報を付ければ許可できる。
– Access-Control-Allow-Origin: http://example.com
- 9. JSONってなに?
• おもにAJAXで使われるデータフォーマットで、
javascriptの文法そのままのテキストデータ。
• xmlと違い、構造を表すタグがないためデータが短い。
• csvと違い、javascriptの文法そのままの形式なので、
作成と展開が簡単。
• RFC 4627で定義されている。妥当性チェックの方法も
定義されていて素敵!(しかも正規表現だけ)。でも最
近はparserが用意されているのでそっちを使おう。eval
しないこと。
- 10. JSONのデータ形式
[
{
"name":"u3068u306eu3055u307e",
"address":"u3082u3093u306au304b
},
{
"name":"u3068u306eu3055u307e",
"address":"u3082u3093u306au304b
}
]
- 11. JSONP
• JSON with Paddingの略
• AJAXには、別のドメインのデータは読めないという制
限があるため、発明された。
• scriptタグを動的に生成して、srcに別ドメインURLを
指定して、データを取得する。(もちろん同一ドメイン
でも可能)
• コールバックという方法が使われる。データを関数で囲
み、script読み込み後に、その関数が呼ばれるようにす
る。
- 15. jsonしてみる①
<script>
$(function(){
$('#json').click(function(){
$.ajax({
url:'json.php',
dataType:'json',
data:{
'like1':'やきそば',
'like2':'メロンソーダ',
'like3':'チュロス'
}
- 16. jsonしてみる②
}).fail(function(data, status, xhr){
console.log('失敗');
console.log(status);
}).done(function(data, status, xhr){
console.log('成功');
console.log(status);
console.log(data);
}).always(function(data, status, xhr){
console.log('終了処理');
});
});
});
</script>
- 18. かいせつ①
• $.ajaxのパラメータ
– url:サーバ側のURL
– dataType:データの形式( json , jsonp など)
– data:サーバに渡すパラメータ
– type:通信のタイプ( GET , POST など)
※typeのデフォルトはGETなのでプログラムでは指定
していません
- 25. かいせつ②
• $data = json_encode($data);
• echo $data;
これだけで、jsonにエンコードして、出力
できる!超便利!
- 34. やってみよう②
}).done(function(data, status, xhr){
console.log('成功p');
console.log(status);
console.log(data);
$.each(data, function(index, value){
$('#jsonp_text').append(
$("<div/>").text(value.name + 'は、' +
value.address + 'にすんでいて、' + value.like + 'がすき!')
);
});
}).always(function(data, status, xhr){
console.log('終了処理p');
});
});
- 39. 疑似要素のこと
• 疑似要素って何?
• こんなときつかうかも
• 疑似要素を補助するプロパティ
• 記述方法
• やってみよう
- 42. 疑似要素を補助するプロパティ
• content
– ::before, ::afterで文字などを挿入するのに使
う
• counter-increment
– cssで変数を用いたカウントができる
• quotes
– 括弧の種類を指定できる。入れ子も指定でき
る
- 43. 記述方法
• CSS3になって、記述方法が変わった!
– div:before
– ○ div::before
• 「:」の数が2個になったので注意しよ
う!(擬似クラスと区別するためこうなっ
たんじゃないかな!2個の書き方は新し
いブラウザじゃないと対応してないから注
意!)
- 46. やってみよう③
<style>
div{
border:2px solid #0f0;
color:#000;
}
div:first-letter{
color:#f00;
}
div:first-line{
color:#00f;
}
div::before{
content:"★";
}
div::after{
content:"☆";
}
</style>
- 50. 疑似クラスのこと
• 疑似クラスって何?
• こんなときつかうかも
• 記述方法
• やってみよう
- 52. こんなときつかうかも
• :hover
– カーソルを重ねた時に色を変える
• :nth-child(n)
– 土曜日、日曜日だけ色を変える
– (even)、(odd)を使って表をしましまに!