SlideShare a Scribd company logo
1 of 112
Download to read offline
1
jQuery+HTML5 APIで

スライドショーを作ろう
【ハンズオンセッション】
HTML5 Conference 2015
本日使用するデータ:http://goo.gl/CQSyEM
会場にwifi環境はありませんので、デザリングなどでオンラインの環境を用意して下さい。
htmlとCSSはすでにコーディングしてあります。
今回皆さんにハンズオンしていただくのはJavaScript(jQuery)になります。
ブラウザはChromeを使って進行していきます。
本日使用するデータ:http://goo.gl/CQSyEM
河島 美津雄
自己紹介
株式会社フリーセル
twitter : @320kawashima
Html5j ビギナー部 所属
Webデザイナー・フロントエンドエンジニア
HTML5ビギナーズも
来てね!
本日使用するデータ:http://goo.gl/CQSyEM
ハンズオンを始める前に
ちょっと喋らせて下さい
HTML5ビギナーズって何?
HTML5ビギナーズは、名前の通りこれからHTML5を始める・始めたばかりの方々の
ための勉強会
第8回(14/11/27):AngularJS
第7回(14/09/04):Chrome開発者ツール、インブラウザデザイン
第6回(14/06/14):トークセッション。ビギナーの勉強方法を考えよう
第5回(14/05/23):jQuery
第4回(13/12/13):ブラウザデバッグツールの使い方
第3回(13/10/23):CSSレイアウト、コード最適化
第2回(13/07/26):初めてのHTML5、スマホコーディング、jQueryMobile
第1回(13/06/21):HTML5、UI/UX、Webデザイン、Windows8アプリ、ブラウザ状況
【開催履歴】
本日使用するデータ:http://goo.gl/CQSyEM
河島は何でビギナー部に
所属しているの?
本日使用するデータ:http://goo.gl/CQSyEM
河島は何でビギナー部に
所属しているの?
A.業界貢献がしたい…キャー!! (*ノωノ)
自分は今までこのような勉強会に出来るだけ参加するようにしていました。
基本的に新しいもの好きなので新しい技術を追いかけるのは楽しいのですが、一方で、
自分の市場価値というものを意識していることに気付きました。例えば「この業界は
移り変わりも激しいし、何とか食らいつかなきゃ」とか、「新しいものをキャッチアッ
プしなくちゃ」など、「現状の自分に不安がある、もっと頑張らなきゃ」というよう
などちらかというとネガティブな感じ。自分に何が課題があるかを認識している部分
は悪くないのですが…この時点では、考えていることは自分の事だけです。
本日使用するデータ:http://goo.gl/CQSyEM
ほうほう
ある日、HTML5 Japan Cupに参加しました
チームを組んで、アワードに応募するというものです。
この時は、「外部に出て刺激を受けないと」とか「デザインの幅を広げなきゃ」と
かの「しなければいけない」マスト感が強かったと思います。
本日使用するデータ:http://goo.gl/CQSyEM
で、どうだったの?
本日使用するデータ:http://goo.gl/CQSyEM
で、どうだったの?
楽しかったんです!
で、思ったんです
本日使用するデータ:http://goo.gl/CQSyEM
で、どうだったの?
楽しかったんです!
で、思ったんです
日本のWebをたぎらせたいなぁ…
本日使用するデータ:http://goo.gl/CQSyEM
日本のWebをたぎらせるために何が出来る?
本日使用するデータ:http://goo.gl/CQSyEM
日本のWebをたぎらせるために何が出来る?
バリバリのエンジニアでもないし…、すごいスキルとか無いし…
本日使用するデータ:http://goo.gl/CQSyEM
日本のWebをたぎらせるために何が出来る?
バリバリのエンジニアでもないし…、すごいスキルとか無いし…
けど、たぎらせるベースづくりなら出来そう!
本日使用するデータ:http://goo.gl/CQSyEM
ここがターニングポイント!
日本のWebをたぎらせるために何が出来る?
バリバリのエンジニアでもないし…、すごいスキルとか無いし…
けど、たぎらせるベースづくりなら出来そう!
ということで、ビギナー部の存在を思い出して、
他の勉強会でお知り合いになった方に紹介して頂き入部に至りました。
勉強会での
出会いも大事ですね!
本日使用するデータ:http://goo.gl/CQSyEM
なので、河島は
本日使用するデータ:http://goo.gl/CQSyEM
なので、河島は
本カンファレンスで登壇されているスーパーすごい方達とはちょっと違う存在です。
本日使用するデータ:http://goo.gl/CQSyEM
なので、河島は
本カンファレンスで登壇されているスーパーすごい方達とはちょっと違う存在です。
けど、Webが好き、楽しいと思う気持ちは一緒!(のはず!)
本日使用するデータ:http://goo.gl/CQSyEM
なので、河島は
本カンファレンスで登壇されているスーパーすごい方達とはちょっと違う存在です。
けど、Webが好き、楽しいと思う気持ちは一緒!(のはず!)
現状の自分に不安のある方も、今一度Webって楽しいんだということを思い出してく
ださい。そして、楽しいって思えることの1つとして「やってみて出来た!」をこのハ
ンズオンで感じてもらえると嬉しいです。
本日使用するデータ:http://goo.gl/CQSyEM
では、そろそろハンズオンを
始めたいと思います
本日使用するデータ:http://goo.gl/CQSyEM
会場にwifi環境はありませんので、デザリングなどでオンラインの環境を用意して下さい。
htmlとCSSはすでにコーディングしてあります。
今回皆さんにハンズオンしていただくのはJavaScript(jQuery)になります。
ブラウザはChromeを使って進行していきます。
本日使用するデータ:http://goo.gl/CQSyEM
ハンズオンの流れ
本ハンズオンの大まかなアジェンダ
・jQueryでクロスフェードスライドを作ろう
・html5APIを使って自分の好きな画像のスライドを作ろう
最初に完成形を見とこう
本日使用するデータ:http://goo.gl/CQSyEM
名前は知ってる
jQueryとは…
JavaScriptのライブラリで、
現在もっとも使われている代名詞的な存在。
本日使用するデータ:http://goo.gl/CQSyEM
名前は知ってる
jQueryとは…
JavaScriptのライブラリで、
現在もっとも使われている代名詞的な存在。
html
CSS JavaScript
文章構造
視覚表現 振る舞い
クライアントサイドで
よくある技術関係
本日使用するデータ:http://goo.gl/CQSyEM
名前は知ってる
jQueryとは…
JavaScriptのライブラリで、
現在もっとも使われている代名詞的な存在。
ライブラリって?
本日使用するデータ:http://goo.gl/CQSyEM
名前は知ってる
jQueryとは…
JavaScriptのライブラリで、
現在もっとも使われている代名詞的な存在。
処理や機能を部品化してまとめたもの
※jQuery以外にも色々あります
まとまっているから便利!
本日使用するデータ:http://goo.gl/CQSyEM
名前は知ってる
jQueryとは…
!?
実際どういうことなの?
ということで書き方も含めて
実例を見てみましょう
さっそく体験!
本日使用するデータ:http://goo.gl/CQSyEM
ここは説明だけ
まずはjQueryを使う準備
http://jquery.com/でjQueryファイルをダウンロードし、
htmlファイルで読み込みます。
※1.x 系は IE8 以前をサポート、2.x 系は IE8 以前のサポートはなし。
※バージョンによって機能や対応ブラウザが異なります。
※次期バージョンから「jQuery 2.x→jQuery 3.0」「jQuery 1.x→jQuery Compat 3.0」に変更予定
※今回はjquery-1.11.2.jsを使用します。 今後、バージョンの
名称変更があるので注意!
ダウンロードしたデータにありますのでここは聞いているだけ
本日使用するデータ:http://goo.gl/CQSyEM
ここは説明だけ
まずはjQueryを使う準備
6行目でjQueryライブラリを読み込んでいます。
先にjQueryライブラリを読み込むようにしましょう。
ダウンロードしたデータの、01_css.htmlをエディタで開いて下さい
8行目以降からコードを書いていきます。
※今回はハンズオンでの説明のしやすさからhtmlファイルに直接記述していますが、 jQueryライブラリのように外部
参照でも構いません。
※//はコメントアウト。記述したコードを処理されないようにしています。/*コメントアウト*/でも可。
本日使用するデータ:http://goo.gl/CQSyEM
いよいよです!
簡単なコードを書いてみよう
<script>
$(function(){
//jQueryの命令を書いていく
});
</script>
緑色の部分はよく「おまじない」といわれますが、要はhtmlファイルが読み込まれ
て、操作・解析が可能になったタイミングから実行するということです。クライア
ントサイドでのJavaScriptの役目は主に「振る舞い」で、振る舞う対象を先に読ま
ないと、対象に対しての振る舞いの処理が出来ないからです。
おまじない!
本日使用するデータ:http://goo.gl/CQSyEM
やってみよう!
振る舞う対象を指定しよう
振る舞う対象をセレクト!
<p>文字を赤くしたい</p>
上記のpの文字色を赤にしたいとします。
この時、振る舞う対象はpタグで、Pタグを選択(セレクト)したい。
これをjQueryのセレクタを使って書くと
本日使用するデータ:http://goo.gl/CQSyEM
やってみよう!
振る舞う対象を指定しよう
CSS, CSS2.1 ,CSS3の
ほとんどのセレクタが使えます
<p>文字を赤くしたい</p>
上記のpの文字色を赤にしたいとします。
この時、振る舞う対象はpタグで、Pタグを選択(セレクト)したい。
これをjQueryのセレクタを使って書くと
$(‘p’)
本日使用するデータ:http://goo.gl/CQSyEM
やってみよう!
振る舞う対象を指定しよう
長いですよね…
jQuery便利!
ちなみにJavaScriptだけで書くと…
getElementsByTagName(‘p’)
本日使用するデータ:http://goo.gl/CQSyEM
ここがすごい!
jQueryのメリット
バージョンよって
対応ブラウザが違います
ここでは、書く量が少なくなるという事例でしたが、
他にもクロスブラウザ対応もしており、
複雑なJavaScriptが
簡単に記述できる
本日使用するデータ:http://goo.gl/CQSyEM
01_css.htmlの続き
文字を赤くするには…
このように書きます
01_css.htmlの続きでpタグを赤くするために、
jQueryを使って、視覚表現であるCSSを操作するという
処理(振る舞い)をします。
$(‘p’).css(‘color’,’red’);
本日使用するデータ:http://goo.gl/CQSyEM
01_css.htmlの続き
文字を赤くするには…
.css()でプロパティ「color」の値を「red」に指定したということになります。
この.css()のような処理をするものは数多くあり、それぞれで書き方が違った
りします。いきなり全てを覚えるのは大変なので、慣れるまではその都度調べ
るのが良いでしょう。
これを繰り返していると自然と覚えていきます。
$(‘p’).css(‘color’,’red’);
.css()のようなものをAPI(Application
Programming Interface)と言います。
本日使用するデータ:http://goo.gl/CQSyEM
01_css.htmlの続き
実際に記述していきましょう
書いてみましょう!
わからない人は
02_css_answer.htmlを見てください
本日使用するデータ:http://goo.gl/CQSyEM
本題に入ります
クロスフェードスライドを作ろう
クロスフェードスライドの
動作イメージ
active:表示状態
next:次に表示される画像
本日使用するデータ:http://goo.gl/CQSyEM
03_cross_fade_slide.htmlを使います
クロスフェードスライドを作ろう
すでにおまじないは書いていますが
忘れないように!
まずは、htmlとブラウザでの表示を確認
現状は最後のliの画像が表示されています
03_cross_fade_slide.htmlを使います。
本日使用するデータ:http://goo.gl/CQSyEM
03_cross_fade_slide.htmlを使います
クロスフェードスライドを作ろう
まずは
・一旦全部の画像を非表示にする
・一枚目の画像にactiveというクラスを付けて表示させる
をやってみましょう。
本日使用するデータ:http://goo.gl/CQSyEM
03_cross_fade_slide.htmlを使います
クロスフェードスライドを作ろう
非表示にするliタグをセレクトして、非表示という処理をする
本日使用するデータ:http://goo.gl/CQSyEM
03_cross_fade_slide.htmlを使います
クロスフェードスライドを作ろう
非表示にするliタグをセレクトして、非表示という処理をする
$(‘.slide ul li’).hide();
.hide()というAPIがあります
本日使用するデータ:http://goo.gl/CQSyEM
03_cross_fade_slide.htmlを使います
クロスフェードスライドを作ろう
一番目のliをセレクトし、activeというクラスを付け、表示させる
本日使用するデータ:http://goo.gl/CQSyEM
03_cross_fade_slide.htmlを使います
クロスフェードスライドを作ろう
一番目のliをセレクトし、activeというクラスを付け、表示させる
$('.slide ul li:first').addClass(‘active’).show();
ここまでのコードは
04_cross_fade_slide.html
になります。
※APIが続けて処理されています。これをメソッドチェーンといいます。
本日使用するデータ:http://goo.gl/CQSyEM
クロスフェードスライドを作ろう
次に…
任意時間毎に処理を繰り返す
繰り返す処理は…
.activeをフェードアウトしてクラス名activeを削除、
その次のliをフェードインしてクラス名activeを加える
ここまで出来なかった方は
04_cross_fade_slide.htmlを使って下さい
本日使用するデータ:http://goo.gl/CQSyEM
ここまで出来なかった方は
04_cross_fade_slide.htmlを使って下さい
クロスフェードスライドを作ろう
任意時間毎に処理を繰り返すには
setInterval(function(){
//繰り返す処理
},任意時間);
今回は2秒なので、2000
※任意時間の指定は、1秒であれば1000になります
本日使用するデータ:http://goo.gl/CQSyEM
ここまで出来なかった方は
04_cross_fade_slide.htmlを使って下さい
クロスフェードスライドを作ろう
繰り返す処理は、
.activeをフェードアウトしてクラス名activeを削除、その次のliをフェードインしてクラス名activeを加える
本日使用するデータ:http://goo.gl/CQSyEM
ここまで出来なかった方は
04_cross_fade_slide.htmlを使って下さい
クロスフェードスライドを作ろう
繰り返す処理は、
.activeをフェードアウトしてクラス名activeを削除、その次のliをフェードインしてクラス名activeを加える
いろんなAPIがありますねー
$('.slide ul li.active').fadeOut().removeClass('active').next('li').fadeIn().addClass('active');
本日使用するデータ:http://goo.gl/CQSyEM
ここまで出来なかった方は
05_cross_fade_slide.htmlを使って下さい
クロスフェードスライドを作ろう
まとめると…
スライドの文字が
だんだん小さくなってきたな…
setInterval(function(){
$('.slide ul li.active').fadeOut().removeClass('active').next('li').fadeIn().addClass('active');
},2000);
これで、次へ次へとフェードイン・フェードアウトが出来るようになりました。
※05_cross_fade_slide.htmlがここまでのコードになります。
本日使用するデータ:http://goo.gl/CQSyEM
ここまで出来なかった方は
05_cross_fade_slide.htmlを使って下さい
クロスフェードスライドを作ろう
次にやりたいことは…
次のliがあるときは次のliに、次のliが無いときは最初のliに戻りたい
If文ってやつですね!
条件分岐を使いましょう
もし∼だったら
本日使用するデータ:http://goo.gl/CQSyEM
ここまで出来なかった方は
05_cross_fade_slide.htmlを使って下さい
クロスフェードスライドを作ろう
もし次のliがあるときは
.activeをフェードアウトしてクラス名activeを削除、その次のliをフェードインしてクラス名activeを加える
もし次のliが無いときは
.activeをフェードアウトしてクラス名activeを削除。一番最初のliをフェードインしてクラス名activeを加える。
If(次のliがあるとき){
.activeをフェードアウトしてクラス名activeを削除、その次のliをフェードインしてクラス名activeを加える
}else{
.activeをフェードアウトしてクラス名activeを削除。一番最初のliをフェードインしてクラス名activeを加える。
}
本日使用するデータ:http://goo.gl/CQSyEM
ここまで出来なかった方は
05_cross_fade_slide.htmlを使って下さい
クロスフェードスライドを作ろう
次のliがあるかどうか
本日使用するデータ:http://goo.gl/CQSyEM
ここまで出来なかった方は
05_cross_fade_slide.htmlを使って下さい
クロスフェードスライドを作ろう
次のliがあるかどうか
$('.slide ul li.active').next('li')があるかどうか
本日使用するデータ:http://goo.gl/CQSyEM
ここまで出来なかった方は
05_cross_fade_slide.htmlを使って下さい
クロスフェードスライドを作ろう
次のliがあるかどうか
$('.slide ul li.active').next('li')があるかどうか
もし次のliがあれば、次のliの数は当然1つ
本日使用するデータ:http://goo.gl/CQSyEM
ここまで出来なかった方は
05_cross_fade_slide.htmlを使って下さい
クロスフェードスライドを作ろう
次のliがあるかどうか
$('.slide ul li.active').next('li')があるかどうか
もし次のliがあれば、次のliの数は当然1つ
次のliの数を取得できれば次のliがあるかどうかわかる
本日使用するデータ:http://goo.gl/CQSyEM
ここまで出来なかった方は
05_cross_fade_slide.htmlを使って下さい
クロスフェードスライドを作ろう
次のliがあるかどうか
.lengthを使いましょう
$('.slide ul li.active').next('li')があるかどうか
もし次のliがあれば、次のliの数は当然1つ
次のliの数を取得できれば次のliがあるかどうかわかる
※要素の数を取得するだけでなく、文字列の長さを取得したり出来ます。
本日使用するデータ:http://goo.gl/CQSyEM
ここまで出来なかった方は
05_cross_fade_slide.htmlを使って下さい
クロスフェードスライドを作ろう
$('.slide ul li.active').next('li').length;
本日使用するデータ:http://goo.gl/CQSyEM
ここまで出来なかった方は
05_cross_fade_slide.htmlを使って下さい
クロスフェードスライドを作ろう
$('.slide ul li.active').next('li').length;
実際どうなっているのかを確認したい
本日使用するデータ:http://goo.gl/CQSyEM
ここまで出来なかった方は
05_cross_fade_slide.htmlを使って下さい
クロスフェードスライドを作ろう
そんな時はconsole.log() を使いましょう
$('.slide ul li.active').next('li').length;
実際どうなっているのかを確認したい
引数(()の中身)として与えられた値をブラウザのコンソールに表示してくれます
console.log( $('.slide ul li.active').next('li').length);
ブラウザで見てみよう!
本日使用するデータ:http://goo.gl/CQSyEM
ここまで出来なかった方は
05_cross_fade_slide.htmlを使って下さい
クロスフェードスライドを作ろう
もし次のliがあるときは
.activeをフェードアウトしてクラス名activeを削除、その次のliをフェードインしてクラス名activeを加える
もし次のliが無いときは
.activeをフェードアウトしてクラス名activeを削除。一番最初のliをフェードインしてクラス名activeを加える。
If($('.slide ul li.active').next('li').length){
.activeをフェードアウトしてクラス名activeを削除、その次のliをフェードインしてクラス名activeを加える
}else{
.activeをフェードアウトしてクラス名activeを削除。一番最初のliをフェードインしてクラス名activeを加える。
}
本日使用するデータ:http://goo.gl/CQSyEM
ここまで出来なかった方は
06_cross_fade_slide.htmlを使って下さい
クロスフェードスライドを作ろう
もし次のliがあるときは
.activeをフェードアウトしてクラス名activeを削除、その次のliをフェードインしてクラス名activeを加える
もし次のliが無いときは
.activeをフェードアウトしてクラス名activeを削除。一番最初のliをフェードインしてクラス名activeを加える。
If($('.slide ul li.active').next('li').length){
$('.slide ul li.active').fadeOut().removeClass('active').next('li').fadeIn().addClass('active');
}else{
.activeをフェードアウトしてクラス名activeを削除。一番最初のliをフェードインしてクラス名activeを加える。
}
本日使用するデータ:http://goo.gl/CQSyEM
ここまで出来なかった方は
06_cross_fade_slide.htmlを使って下さい
クロスフェードスライドを作ろう
残りの処理は、
一番最初のliをフェードインしてクラス名activeを加える
.activeをフェードアウトしてクラス名activeを削除
本日使用するデータ:http://goo.gl/CQSyEM
ここまで出来なかった方は
06_cross_fade_slide.htmlを使って下さい
クロスフェードスライドを作ろう
残りの処理は、
$('.slide ul li.active').fadeOut().removeClass('active');
一番最初のliをフェードインしてクラス名activeを加える
.activeをフェードアウトしてクラス名activeを削除
$('.slide ul li:first').fadeIn().addClass('active');
本日使用するデータ:http://goo.gl/CQSyEM
ここまで出来なかった方は
07_cross_fade_slide.htmlを使って下さい
クロスフェードスライドを作ろう
もし次のliがあるときは
.activeをフェードアウトしてクラス名activeを削除、その次のliをフェードインしてクラス名activeを加える
もし次のliが無いときは
.activeをフェードアウトしてクラス名activeを削除。一番最初のliをフェードインしてクラス名activeを加える。
If($('.slide ul li.active').next('li').length){
$('.slide ul li.active').fadeOut().removeClass('active').next('li').fadeIn().addClass('active');
}else{
$('.slide ul li.active').fadeOut().removeClass('active');
$('.slide ul li:first').fadeIn().addClass('active');
}
本日使用するデータ:http://goo.gl/CQSyEM
ここまで出来なかった方は
07_cross_fade_slide.htmlを使って下さい
クロスフェードスライドを作ろう
意図している動きができましたか?
出来るって楽しい!
本日使用するデータ:http://goo.gl/CQSyEM
ここまで出来なかった方は
07_cross_fade_slide.htmlを使って下さい
クロスフェードスライドを作ろう
最後にコードを整理しましょう
本日使用するデータ:http://goo.gl/CQSyEM
ここまで出来なかった方は
07_cross_fade_slide.htmlを使って下さい
クロスフェードスライドを作ろう
変数 varを使いましょう
最後にコードを整理しましょう
変数 varとは、数値や文字列などを格納しておく「箱」のようなものです。
JavaScriptの本の
最初の方に出てきますね
変数に何かを格納することを「代入」をいいます。
本日使用するデータ:http://goo.gl/CQSyEM
ここまで出来なかった方は
07_cross_fade_slide.htmlを使って下さい
クロスフェードスライドを作ろう
varを使って任意の文字列を変数として宣言をします。例えば…
var hoge;
hogeという変数を宣言しました。「;」は処理の終わりという意味です。
var hoge = 1;
上記は、hogeという変数に1を代入したということになります。
文字列の場合は、代入したい文字列を「’’」で囲います。
例えば var hoge = ‘ほげ’;
本日使用するデータ:http://goo.gl/CQSyEM
ここまで出来なかった方は
08_cross_fade_slide.htmlを使って下さい
クロスフェードスライドを作ろう
var $active = $('.slide ul li.active');
$(‘.slide ul li.active’)が複数あるので
見やすくなっているはず…
として、全体のコードを調整してみましょう
本日使用するデータ:http://goo.gl/CQSyEM
ここまで出来なかった方は
09_cross_fade_slide.htmlを使って下さい
クロスフェードスライドを作ろう
$active.fadeOut().removeClass(‘active’)と、 .fadeIn().addClass(‘active’)も複数
あります。条件分岐のどちらでも同じ処理をするので、if分の外に出しましょ
う。ただ、条件によってfadeIn().addClass(‘active’)をする対象は変わるので、
それぞれ必要な対象を$nextという変数に代入して処理させましょう。
文章で説明するのは難しいので、
ここはコードを見ながら説明します。
※コメントアウトやconsolo.logを削除したのが10_cross_fade_slide_finished.htmlになります。
本日使用するデータ:http://goo.gl/CQSyEM
ここまで出来なかった方は
10_cross_fade_slide_finished.htmlをみて下さい
クロスフェードスライドを作ろう
一段落!
本日使用するデータ:http://goo.gl/CQSyEM
File APIを使います
html5APIを使って自分の好きな画像のスライドを作ろう
再度、完成をみてみましょう
本日使用するデータ:http://goo.gl/CQSyEM
File APIを使います
html5APIを使って自分の好きな画像のスライドを作ろう
ファイルをドラッグ&ドロップし、ブラウザに反映させたい。
本日使用するデータ:http://goo.gl/CQSyEM
File APIを使います
html5APIを使って自分の好きな画像のスライドを作ろう
ファイルをドラッグ&ドロップし、ブラウザに反映させたい。
File APIを使います
ローカルにあるファイルを読み込んだり書き込んだり出来るようになります
11_file_api.htmlを使っていきます
前半で作ったスライドするコードは
一旦コメントアウトしています
本日使用するデータ:http://goo.gl/CQSyEM
File APIを使います
html5APIを使って自分の好きな画像のスライドを作ろう
11_file_api.htmlを開いて、画像をドラッグ&ドロップすると…
本日使用するデータ:http://goo.gl/CQSyEM
File APIを使います
html5APIを使って自分の好きな画像のスライドを作ろう
11_file_api.htmlを開いて、画像をドラッグ&ドロップすると…
画像だけブラウザで表示されます…
後半戦、頑張ろう!
まずは、この動きをキャンセルしましょう!
本日使用するデータ:http://goo.gl/CQSyEM
File APIを使います
html5APIを使って自分の好きな画像のスライドを作ろう
ドラッグ&ドロップしたとき、ブラウザの動きを止める
本日使用するデータ:http://goo.gl/CQSyEM
File APIを使います
html5APIを使って自分の好きな画像のスライドを作ろう
ドラッグ&ドロップしたとき、ブラウザの動きを止める
ドラッグ、ドロップを「イベント」
そのイベントに対して処理を与える命令を「イベントハンドラ」
本日使用するデータ:http://goo.gl/CQSyEM
File APIを使います
html5APIを使って自分の好きな画像のスライドを作ろう
「on」というイベントハンドラを使っていきます。
本日使用するデータ:http://goo.gl/CQSyEM
File APIを使います
html5APIを使って自分の好きな画像のスライドを作ろう
「on」というイベントハンドラを使っていきます。
$(‘セレクタ’).on(‘イベント', function(){
//処理
});
onの構文は
※他にも書き方はあります。他の書き方は今回は割愛します。
※イベントは複数指定することができます。
本日使用するデータ:http://goo.gl/CQSyEM
File APIを使います
html5APIを使って自分の好きな画像のスライドを作ろう
今回のイベントはドラッグ&ドロップなので
本日使用するデータ:http://goo.gl/CQSyEM
File APIを使います
html5APIを使って自分の好きな画像のスライドを作ろう
今回のイベントはドラッグ&ドロップなので
$(‘.drop-frame’).on(‘dragover drop', function(){
//処理
});
となります。
本日使用するデータ:http://goo.gl/CQSyEM
File APIを使います
html5APIを使って自分の好きな画像のスライドを作ろう
ブラウザの動きをキャンセルするには
本日使用するデータ:http://goo.gl/CQSyEM
File APIを使います
html5APIを使って自分の好きな画像のスライドを作ろう
ブラウザの動きをキャンセルするには
$(‘.drop-frame’).on(‘dragover drop', function(e){
e.preventDefault();
});
と書きます。
先ほど説明したfunction()の中にeというのが入っています。
このeはイベント、すなわち「 dragover drop 」になります。
イベントを起こした時、eに様々な値が入ります。
本日使用するデータ:http://goo.gl/CQSyEM
File APIを使います
html5APIを使って自分の好きな画像のスライドを作ろう
eの中身を見てみよう!
$(‘.drop-frame’).on(‘dragover drop', function(e){
e.preventDefault();
console.log(e);
});
何が表示
されるかな?
本日使用するデータ:http://goo.gl/CQSyEM
File APIを使います
html5APIを使って自分の好きな画像のスライドを作ろう
イベントの中には色々な情報が入っていることがわかります。
また、console.log()が何度も実行されています。これはマウスがドラッグ
で動く度にconsole.log()が実行されていているからになります。
今回は、ファイルをブラウザに1回表示されたら良いので、ドラッグとド
ロップを分けて書いておきましょう。
ここまで13_file_api.html
にまとまっています
本日使用するデータ:http://goo.gl/CQSyEM
File APIを使います
html5APIを使って自分の好きな画像のスライドを作ろう
ファイルを読み込むためにFileReader()を使います。
オブジェクトを生成するためにnew演算子を使って
オブジェクト?
var reader = new FileReader()
とします。
本日使用するデータ:http://goo.gl/CQSyEM
File APIを使います
html5APIを使って自分の好きな画像のスライドを作ろう
オブジェクトって何?
オブジェクト?
本日使用するデータ:http://goo.gl/CQSyEM
File APIを使います
html5APIを使って自分の好きな画像のスライドを作ろう
オブジェクトって何?
オブジェクトの理解は
めちゃくちゃ大事!
console.log(reader);
で中身をみてみましょう。
本日使用するデータ:http://goo.gl/CQSyEM
File APIを使います
html5APIを使って自分の好きな画像のスライドを作ろう
オブジェクトとは
本日使用するデータ:http://goo.gl/CQSyEM
File APIを使います
html5APIを使って自分の好きな画像のスライドを作ろう
オブジェクトとは
※プロパティ (property) は物体の特性・特質を意味する言葉である。
名前と値をもつプロパティを格納するコンテナのようなもの
本日使用するデータ:http://goo.gl/CQSyEM
File APIを使います
html5APIを使って自分の好きな画像のスライドを作ろう
オブジェクトとは
名前と値をもつプロパティを格納するコンテナのようなもの
※プロパティ (property) は物体の特性・特質を意味する言葉である。
例えば、河島をオブジェクトとしてConsolo.log(河島);で出力すると…
本日使用するデータ:http://goo.gl/CQSyEM
File APIを使います
html5APIを使って自分の好きな画像のスライドを作ろう
オブジェクトとは
※プロパティ (property) は物体の特性・特質を意味する言葉である。
例えば、河島をオブジェクトとしてConsolo.log(河島);で出力すると…
河島 {性別:男, 年齢:ひみつ, 住所:横浜, 結婚:している,…}
となります。 ここまでの内容は
14_file_api.htmlにあります
名前と値をもつプロパティを格納するコンテナのようなもの
本日使用するデータ:http://goo.gl/CQSyEM
File APIを使います
html5APIを使って自分の好きな画像のスライドを作ろう
ドラッグしたファイルの情報を読み取ろう
本日使用するデータ:http://goo.gl/CQSyEM
File APIを使います
html5APIを使って自分の好きな画像のスライドを作ろう
for(var i = 0;i<e.originalEvent.dataTransfer.files.length ;i++){
reader.readAsDataURL(e.originalEvent.dataTransfer.files[i]);
}
ドラッグしたファイルの情報を読み取ろう
何これ…
配列?For文?
読み込まれたファイルは配列で、オブジェクトとして格納されるので、
繰り返し文(for文)で情報を読み取ります
本日使用するデータ:http://goo.gl/CQSyEM
File APIを使います
html5APIを使って自分の好きな画像のスライドを作ろう
配列とは…
for文とは…
複数の値が連番で格納されている箱のようなもの
※例えば、[ファイル1の情報, ファイル2の情報, ファイル3の情報… ]
処理を繰り返したいときに使う制御文
for ( var i = 初期値 ; 繰り返し条件 ; 次の値){
//処理
}
16_file_api.htmlを使って
Console.logで中身を
見てみよう!
本日使用するデータ:http://goo.gl/CQSyEM
File APIを使います
html5APIを使って自分の好きな画像のスライドを作ろう
次に、ファイルの読み込み(取得)が完了した時の処理を書いていきましょう。
本日使用するデータ:http://goo.gl/CQSyEM
File APIを使います
html5APIを使って自分の好きな画像のスライドを作ろう
次に、ファイルの読み込み(取得)が完了した時の処理を書いていきましょう。
reader.addEventListener('load', function() {
//処理
});
本日使用するデータ:http://goo.gl/CQSyEM
File APIを使います
html5APIを使って自分の好きな画像のスライドを作ろう
次に、ファイルの読み込み(取得)が完了した時の処理を書いていきましょう。
addEventListenerはイベントが起こったとき処理が発生するようにするイ
ベントリスナーと呼ばれるものです。
reader.addEventListener('load', function() {
//処理
});
Readerオブジェクトの中身をconsole.log(reader);で確認してみると…
本日使用するデータ:http://goo.gl/CQSyEM
File APIを使います
html5APIを使って自分の好きな画像のスライドを作ろう
やった!
resultの中に画像の情報が!
reader.addEventListener('load', function() {
console.log(reader);
});
本日使用するデータ:http://goo.gl/CQSyEM
File APIを使います
html5APIを使って自分の好きな画像のスライドを作ろう
liに取得したimgを入れていき、スライド部分とサムネイル部分に画像が
表示できるようにしていきます。
後から追加した画像が、liの最後にきて欲しいので
本日使用するデータ:http://goo.gl/CQSyEM
File APIを使います
html5APIを使って自分の好きな画像のスライドを作ろう
$('.slide ul, .thumbnail ul').append('<li><img alt=""></li>');
$('.slide ul li:last img, .thumbnail ul li:last img').attr('src',reader.result);
.append()はセレクタの閉じタグの直前にコードを追加します。
.attr()は属性を操作することが出来ます。
liに取得したimgを入れていき、スライド部分とサムネイル部分に画像が
表示できるようにしていきます。
後から追加した画像が、liの最後にきて欲しいので
ここまでの内容が
18_file_api.htmlに
まとまっています
本日使用するデータ:http://goo.gl/CQSyEM
File APIを使います
html5APIを使って自分の好きな画像のスライドを作ろう
ファイルをドラッグすると、スライド部分に追加した最後の画像が一番上にくるので調整しましょう。
本日使用するデータ:http://goo.gl/CQSyEM
File APIを使います
html5APIを使って自分の好きな画像のスライドを作ろう
var $listLength = $('.slide ul li').length;
$('.slide ul li').each(function(){
$(this).find('img').css('z-index',$listLength);
$listLength--;
});
スライド部分のliの数を取得して、その数を使ってz-indexを指定していきます。
.each(function(){処理});は繰り返し文で、セレクタで指定したliがあるごとに処理を実行します。
thisは繰り返しの中で現在対象となっているものを指します。
.find()は引数()の中のものを探すというものです。
--はデクリメント演算子と呼ばれるもので1だけ減少します。
ここまでの内容が
19_file_api.htmlに
まとまっています
ファイルをドラッグすると、スライド部分に追加した最後の画像が一番上にくるので調整しましょう。
本日使用するデータ:http://goo.gl/CQSyEM
File APIを使います
html5APIを使って自分の好きな画像のスライドを作ろう
次に、startボタンを押したらクロスフェードの処理が始まるようにします。
あと少し!
本日使用するデータ:http://goo.gl/CQSyEM
File APIを使います
html5APIを使って自分の好きな画像のスライドを作ろう
関数を使いましょう
次に、startボタンを押したらクロスフェードの処理が始まるようにします。
あと少し!
本日使用するデータ:http://goo.gl/CQSyEM
File APIを使います
html5APIを使って自分の好きな画像のスライドを作ろう
関数を使いましょう
function 関数名() {
//処理
}
次に、startボタンを押したらクロスフェードの処理が始まるようにします。
あと少し!
関数を定義する構文は
※処理はクロスフェードの動きが入ります
本日使用するデータ:http://goo.gl/CQSyEM
File APIを使います
html5APIを使って自分の好きな画像のスライドを作ろう
関数名();
関数を実行するには
本日使用するデータ:http://goo.gl/CQSyEM
File APIを使います
html5APIを使って自分の好きな画像のスライドを作ろう
関数名();
関数を実行するには
スイッチみたいなもの
function start() {
クロスフェードスライドの処理
}
だと、start();が実行された段階で処理が始まります。
本日使用するデータ:http://goo.gl/CQSyEM
File APIを使います
html5APIを使って自分の好きな画像のスライドを作ろう
Start()を実行するタイミングは、.startがクリックされた時なので
onを使ったイベントの制御
やりましたね!
本日使用するデータ:http://goo.gl/CQSyEM
File APIを使います
html5APIを使って自分の好きな画像のスライドを作ろう
Start()を実行するタイミングは、.startがクリックされた時なので
onを使ったイベントの制御
やりましたね!
$('.start').on('click', function(){
start();
});
本日使用するデータ:http://goo.gl/CQSyEM
File APIを使います
html5APIを使って自分の好きな画像のスライドを作ろう
ドラッグ&ドロップ部分とスタートボタン、サムネイル部分を非表示にしたいので
本日使用するデータ:http://goo.gl/CQSyEM
File APIを使います
html5APIを使って自分の好きな画像のスライドを作ろう
ここまでの内容は
21_file_api.htmlに
まとまっています
$('.start').on('click', function(){
start();
$('.drop-frame, .start, .thumbnail').fadeOut();
});
ドラッグ&ドロップ部分とスタートボタン、サムネイル部分を非表示にしたいので
本日使用するデータ:http://goo.gl/CQSyEM
File APIを使います
html5APIを使って自分の好きな画像のスライドを作ろう
最後にコードを整理して完成!!
ただ、何でもかんでも重複しているものを変数に
入れればいいってものでもないです。
同じように見えてもオブジェクトに入っている情報が
違うので処理が上手く動かないことがあるので注意!
本日使用するデータ:http://goo.gl/CQSyEM
File APIを使います
html5APIを使って自分の好きな画像のスライドを作ろう
お疲れ様でした!
また、ご清聴ありがとうございました!

More Related Content

What's hot

レスポンシブ・イメージのWordPressへの実装と4.4
レスポンシブ・イメージのWordPressへの実装と4.4レスポンシブ・イメージのWordPressへの実装と4.4
レスポンシブ・イメージのWordPressへの実装と4.4Toru Miki
 
いまさら聞けない!?Backbone.js 超入門
いまさら聞けない!?Backbone.js 超入門いまさら聞けない!?Backbone.js 超入門
いまさら聞けない!?Backbone.js 超入門Kohei Kadowaki
 
Style Guide活用のススメ
Style Guide活用のススメStyle Guide活用のススメ
Style Guide活用のススメShigeki Ohtsuki
 
SPAに必要なJavaScriptFrameWork
SPAに必要なJavaScriptFrameWorkSPAに必要なJavaScriptFrameWork
SPAに必要なJavaScriptFrameWorkMizuho Sakamaki
 
非同期処理をちょっとはラクに。Promises:aほか
 非同期処理をちょっとはラクに。Promises:aほか 非同期処理をちょっとはラクに。Promises:aほか
非同期処理をちょっとはラクに。Promises:aほかMasakazu Muraoka
 
BACKBONE.JSによるWebアプリケーション開発について
BACKBONE.JSによるWebアプリケーション開発についてBACKBONE.JSによるWebアプリケーション開発について
BACKBONE.JSによるWebアプリケーション開発についてToshio Ehara
 
Hands on PhotoBlog App with WordPress REST API and App Inventor
Hands on PhotoBlog App with WordPress REST API and App InventorHands on PhotoBlog App with WordPress REST API and App Inventor
Hands on PhotoBlog App with WordPress REST API and App InventorHong Chen
 
CSS Nite LP26 CodeKitで始める次世代Web制作
CSS Nite LP26 CodeKitで始める次世代Web制作CSS Nite LP26 CodeKitで始める次世代Web制作
CSS Nite LP26 CodeKitで始める次世代Web制作Maboroshi.inc
 
WordPressで行う継続的インテグレーションのススメ
WordPressで行う継続的インテグレーションのススメWordPressで行う継続的インテグレーションのススメ
WordPressで行う継続的インテグレーションのススメhorike37
 
WP-CLI (WordBench Sendai 20140628)
WP-CLI (WordBench Sendai 20140628)WP-CLI (WordBench Sendai 20140628)
WP-CLI (WordBench Sendai 20140628)Kazue Igarashi
 
WordCamp Kansai 2015 プレイベント「コントリビューターデイ」
WordCamp Kansai 2015 プレイベント「コントリビューターデイ」WordCamp Kansai 2015 プレイベント「コントリビューターデイ」
WordCamp Kansai 2015 プレイベント「コントリビューターデイ」Ayaka Sumida
 
Word bench長崎01「オリジナルテーマで学ぶwordpressの基本」
Word bench長崎01「オリジナルテーマで学ぶwordpressの基本」Word bench長崎01「オリジナルテーマで学ぶwordpressの基本」
Word bench長崎01「オリジナルテーマで学ぶwordpressの基本」タカシ キタジマ
 
Web frontend performance tuning
Web frontend      performance tuningWeb frontend      performance tuning
Web frontend performance tuningssuser3c214d
 
メディア芸術基礎 II HTML5とは何か? HTML5、はじめの一歩
メディア芸術基礎 II HTML5とは何か? HTML5、はじめの一歩メディア芸術基礎 II HTML5とは何か? HTML5、はじめの一歩
メディア芸術基礎 II HTML5とは何か? HTML5、はじめの一歩Atsushi Tadokoro
 
非エンジニア向けHTML勉強会その1
非エンジニア向けHTML勉強会その1非エンジニア向けHTML勉強会その1
非エンジニア向けHTML勉強会その1Karino Kyohei
 
タスクランナー導入 〜とあるWordPress制作環境〜
タスクランナー導入 〜とあるWordPress制作環境〜タスクランナー導入 〜とあるWordPress制作環境〜
タスクランナー導入 〜とあるWordPress制作環境〜Masaya Kogawa
 
2015年 失敗しない! WordPress多言語サイト制作で 絶対に知っておきたいこと
2015年 失敗しない! WordPress多言語サイト制作で 絶対に知っておきたいこと2015年 失敗しない! WordPress多言語サイト制作で 絶対に知っておきたいこと
2015年 失敗しない! WordPress多言語サイト制作で 絶対に知っておきたいことKatz Ueno
 
javascriptの基礎
javascriptの基礎javascriptの基礎
javascriptの基礎Masayuki Abe
 
文系デザイナーでも大丈夫!レスポンシブWEBサイトをWordPressで作ってみよう
文系デザイナーでも大丈夫!レスポンシブWEBサイトをWordPressで作ってみよう文系デザイナーでも大丈夫!レスポンシブWEBサイトをWordPressで作ってみよう
文系デザイナーでも大丈夫!レスポンシブWEBサイトをWordPressで作ってみようJunko Nukaga
 
GDG Women DevfestW
GDG Women DevfestWGDG Women DevfestW
GDG Women DevfestWTomoko Sato
 

What's hot (20)

レスポンシブ・イメージのWordPressへの実装と4.4
レスポンシブ・イメージのWordPressへの実装と4.4レスポンシブ・イメージのWordPressへの実装と4.4
レスポンシブ・イメージのWordPressへの実装と4.4
 
いまさら聞けない!?Backbone.js 超入門
いまさら聞けない!?Backbone.js 超入門いまさら聞けない!?Backbone.js 超入門
いまさら聞けない!?Backbone.js 超入門
 
Style Guide活用のススメ
Style Guide活用のススメStyle Guide活用のススメ
Style Guide活用のススメ
 
SPAに必要なJavaScriptFrameWork
SPAに必要なJavaScriptFrameWorkSPAに必要なJavaScriptFrameWork
SPAに必要なJavaScriptFrameWork
 
非同期処理をちょっとはラクに。Promises:aほか
 非同期処理をちょっとはラクに。Promises:aほか 非同期処理をちょっとはラクに。Promises:aほか
非同期処理をちょっとはラクに。Promises:aほか
 
BACKBONE.JSによるWebアプリケーション開発について
BACKBONE.JSによるWebアプリケーション開発についてBACKBONE.JSによるWebアプリケーション開発について
BACKBONE.JSによるWebアプリケーション開発について
 
Hands on PhotoBlog App with WordPress REST API and App Inventor
Hands on PhotoBlog App with WordPress REST API and App InventorHands on PhotoBlog App with WordPress REST API and App Inventor
Hands on PhotoBlog App with WordPress REST API and App Inventor
 
CSS Nite LP26 CodeKitで始める次世代Web制作
CSS Nite LP26 CodeKitで始める次世代Web制作CSS Nite LP26 CodeKitで始める次世代Web制作
CSS Nite LP26 CodeKitで始める次世代Web制作
 
WordPressで行う継続的インテグレーションのススメ
WordPressで行う継続的インテグレーションのススメWordPressで行う継続的インテグレーションのススメ
WordPressで行う継続的インテグレーションのススメ
 
WP-CLI (WordBench Sendai 20140628)
WP-CLI (WordBench Sendai 20140628)WP-CLI (WordBench Sendai 20140628)
WP-CLI (WordBench Sendai 20140628)
 
WordCamp Kansai 2015 プレイベント「コントリビューターデイ」
WordCamp Kansai 2015 プレイベント「コントリビューターデイ」WordCamp Kansai 2015 プレイベント「コントリビューターデイ」
WordCamp Kansai 2015 プレイベント「コントリビューターデイ」
 
Word bench長崎01「オリジナルテーマで学ぶwordpressの基本」
Word bench長崎01「オリジナルテーマで学ぶwordpressの基本」Word bench長崎01「オリジナルテーマで学ぶwordpressの基本」
Word bench長崎01「オリジナルテーマで学ぶwordpressの基本」
 
Web frontend performance tuning
Web frontend      performance tuningWeb frontend      performance tuning
Web frontend performance tuning
 
メディア芸術基礎 II HTML5とは何か? HTML5、はじめの一歩
メディア芸術基礎 II HTML5とは何か? HTML5、はじめの一歩メディア芸術基礎 II HTML5とは何か? HTML5、はじめの一歩
メディア芸術基礎 II HTML5とは何か? HTML5、はじめの一歩
 
非エンジニア向けHTML勉強会その1
非エンジニア向けHTML勉強会その1非エンジニア向けHTML勉強会その1
非エンジニア向けHTML勉強会その1
 
タスクランナー導入 〜とあるWordPress制作環境〜
タスクランナー導入 〜とあるWordPress制作環境〜タスクランナー導入 〜とあるWordPress制作環境〜
タスクランナー導入 〜とあるWordPress制作環境〜
 
2015年 失敗しない! WordPress多言語サイト制作で 絶対に知っておきたいこと
2015年 失敗しない! WordPress多言語サイト制作で 絶対に知っておきたいこと2015年 失敗しない! WordPress多言語サイト制作で 絶対に知っておきたいこと
2015年 失敗しない! WordPress多言語サイト制作で 絶対に知っておきたいこと
 
javascriptの基礎
javascriptの基礎javascriptの基礎
javascriptの基礎
 
文系デザイナーでも大丈夫!レスポンシブWEBサイトをWordPressで作ってみよう
文系デザイナーでも大丈夫!レスポンシブWEBサイトをWordPressで作ってみよう文系デザイナーでも大丈夫!レスポンシブWEBサイトをWordPressで作ってみよう
文系デザイナーでも大丈夫!レスポンシブWEBサイトをWordPressで作ってみよう
 
GDG Women DevfestW
GDG Women DevfestWGDG Women DevfestW
GDG Women DevfestW
 

Viewers also liked

HTML5 Conference 2015 Design Sprint
HTML5 Conference 2015 Design SprintHTML5 Conference 2015 Design Sprint
HTML5 Conference 2015 Design SprintYukio Andoh
 
Beyond CSS Architecture
Beyond CSS ArchitectureBeyond CSS Architecture
Beyond CSS Architecture拓樹 谷
 
2015年GMOペパボ新卒エンジニア研修 Webオペレーション研修イントロダクション
2015年GMOペパボ新卒エンジニア研修 Webオペレーション研修イントロダクション2015年GMOペパボ新卒エンジニア研修 Webオペレーション研修イントロダクション
2015年GMOペパボ新卒エンジニア研修 Webオペレーション研修イントロダクションTakahiro Okumura
 
Web of Technologies
Web of TechnologiesWeb of Technologies
Web of Technologiesdynamis
 
Polymerで作る次世代ウェブサイト
Polymerで作る次世代ウェブサイトPolymerで作る次世代ウェブサイト
Polymerで作る次世代ウェブサイトEiji Kitamura
 
EWD 3トレーニングコース#13 全てをひとつにまとめてewd-xpressで稼働させてみる
EWD 3トレーニングコース#13 全てをひとつにまとめてewd-xpressで稼働させてみるEWD 3トレーニングコース#13 全てをひとつにまとめてewd-xpressで稼働させてみる
EWD 3トレーニングコース#13 全てをひとつにまとめてewd-xpressで稼働させてみるKiyoshi Sawada
 
Dreamweaverとfireworksを連携し、jQuery mobileのサイトを作る方法
Dreamweaverとfireworksを連携し、jQuery mobileのサイトを作る方法Dreamweaverとfireworksを連携し、jQuery mobileのサイトを作る方法
Dreamweaverとfireworksを連携し、jQuery mobileのサイトを作る方法Yuki Yokoyama
 
EWD 3トレーニングコース#14 ewd-xpressメッセージ用にAjaxを用いる
EWD 3トレーニングコース#14 ewd-xpressメッセージ用にAjaxを用いるEWD 3トレーニングコース#14 ewd-xpressメッセージ用にAjaxを用いる
EWD 3トレーニングコース#14 ewd-xpressメッセージ用にAjaxを用いるKiyoshi Sawada
 
EWD 3トレーニングコース#11 ewd-xpressでのエラー処理
EWD 3トレーニングコース#11 ewd-xpressでのエラー処理EWD 3トレーニングコース#11 ewd-xpressでのエラー処理
EWD 3トレーニングコース#11 ewd-xpressでのエラー処理Kiyoshi Sawada
 
EWD 3トレーニングコース#5 ewd-xpressアプリ開発第1ステップ
EWD 3トレーニングコース#5 ewd-xpressアプリ開発第1ステップEWD 3トレーニングコース#5 ewd-xpressアプリ開発第1ステップ
EWD 3トレーニングコース#5 ewd-xpressアプリ開発第1ステップKiyoshi Sawada
 
EWD 3トレーニングコース#7 ewd-xpressメッセージ・パターンを適用する
EWD 3トレーニングコース#7 ewd-xpressメッセージ・パターンを適用するEWD 3トレーニングコース#7 ewd-xpressメッセージ・パターンを適用する
EWD 3トレーニングコース#7 ewd-xpressメッセージ・パターンを適用するKiyoshi Sawada
 
入力フォームチェックをJ queryでやってみた
入力フォームチェックをJ queryでやってみた入力フォームチェックをJ queryでやってみた
入力フォームチェックをJ queryでやってみたyusuke ueki
 
EWD 3トレーニングコース#30 ewd-xpressアプリケーションをモジュラー化する
EWD 3トレーニングコース#30 ewd-xpressアプリケーションをモジュラー化するEWD 3トレーニングコース#30 ewd-xpressアプリケーションをモジュラー化する
EWD 3トレーニングコース#30 ewd-xpressアプリケーションをモジュラー化するKiyoshi Sawada
 
EWD 3トレーニングコース#15 ewd-xpressでjQuery以外のフレームワークを利用する
EWD 3トレーニングコース#15 ewd-xpressでjQuery以外のフレームワークを利用するEWD 3トレーニングコース#15 ewd-xpressでjQuery以外のフレームワークを利用する
EWD 3トレーニングコース#15 ewd-xpressでjQuery以外のフレームワークを利用するKiyoshi Sawada
 
これからのJSの話をしよう ~jQueryで作るTwitterアプリ~ (Gunma.web #2 2010/10/9)
これからのJSの話をしよう ~jQueryで作るTwitterアプリ~ (Gunma.web #2 2010/10/9)これからのJSの話をしよう ~jQueryで作るTwitterアプリ~ (Gunma.web #2 2010/10/9)
これからのJSの話をしよう ~jQueryで作るTwitterアプリ~ (Gunma.web #2 2010/10/9)parrotstudio
 
20140523 jQuery基礎 (HTML5ビギナーズ)
20140523 jQuery基礎 (HTML5ビギナーズ)20140523 jQuery基礎 (HTML5ビギナーズ)
20140523 jQuery基礎 (HTML5ビギナーズ)Daisuke Yamazaki
 
少人数から始めるできるだけ楽をするB2Bアプリ開発
少人数から始めるできるだけ楽をするB2Bアプリ開発少人数から始めるできるだけ楽をするB2Bアプリ開発
少人数から始めるできるだけ楽をするB2Bアプリ開発Atsuhiko Kimura
 
jQueryで作るカスタム投稿の画像スライダーライブラリ
jQueryで作るカスタム投稿の画像スライダーライブラリjQueryで作るカスタム投稿の画像スライダーライブラリ
jQueryで作るカスタム投稿の画像スライダーライブラリTakashi Uemura
 

Viewers also liked (20)

jQuery Mobile入門
jQuery Mobile入門jQuery Mobile入門
jQuery Mobile入門
 
漢は黙ってjQuery
漢は黙ってjQuery漢は黙ってjQuery
漢は黙ってjQuery
 
HTML5 Conference 2015 Design Sprint
HTML5 Conference 2015 Design SprintHTML5 Conference 2015 Design Sprint
HTML5 Conference 2015 Design Sprint
 
Beyond CSS Architecture
Beyond CSS ArchitectureBeyond CSS Architecture
Beyond CSS Architecture
 
2015年GMOペパボ新卒エンジニア研修 Webオペレーション研修イントロダクション
2015年GMOペパボ新卒エンジニア研修 Webオペレーション研修イントロダクション2015年GMOペパボ新卒エンジニア研修 Webオペレーション研修イントロダクション
2015年GMOペパボ新卒エンジニア研修 Webオペレーション研修イントロダクション
 
Web of Technologies
Web of TechnologiesWeb of Technologies
Web of Technologies
 
Polymerで作る次世代ウェブサイト
Polymerで作る次世代ウェブサイトPolymerで作る次世代ウェブサイト
Polymerで作る次世代ウェブサイト
 
EWD 3トレーニングコース#13 全てをひとつにまとめてewd-xpressで稼働させてみる
EWD 3トレーニングコース#13 全てをひとつにまとめてewd-xpressで稼働させてみるEWD 3トレーニングコース#13 全てをひとつにまとめてewd-xpressで稼働させてみる
EWD 3トレーニングコース#13 全てをひとつにまとめてewd-xpressで稼働させてみる
 
Dreamweaverとfireworksを連携し、jQuery mobileのサイトを作る方法
Dreamweaverとfireworksを連携し、jQuery mobileのサイトを作る方法Dreamweaverとfireworksを連携し、jQuery mobileのサイトを作る方法
Dreamweaverとfireworksを連携し、jQuery mobileのサイトを作る方法
 
EWD 3トレーニングコース#14 ewd-xpressメッセージ用にAjaxを用いる
EWD 3トレーニングコース#14 ewd-xpressメッセージ用にAjaxを用いるEWD 3トレーニングコース#14 ewd-xpressメッセージ用にAjaxを用いる
EWD 3トレーニングコース#14 ewd-xpressメッセージ用にAjaxを用いる
 
EWD 3トレーニングコース#11 ewd-xpressでのエラー処理
EWD 3トレーニングコース#11 ewd-xpressでのエラー処理EWD 3トレーニングコース#11 ewd-xpressでのエラー処理
EWD 3トレーニングコース#11 ewd-xpressでのエラー処理
 
EWD 3トレーニングコース#5 ewd-xpressアプリ開発第1ステップ
EWD 3トレーニングコース#5 ewd-xpressアプリ開発第1ステップEWD 3トレーニングコース#5 ewd-xpressアプリ開発第1ステップ
EWD 3トレーニングコース#5 ewd-xpressアプリ開発第1ステップ
 
EWD 3トレーニングコース#7 ewd-xpressメッセージ・パターンを適用する
EWD 3トレーニングコース#7 ewd-xpressメッセージ・パターンを適用するEWD 3トレーニングコース#7 ewd-xpressメッセージ・パターンを適用する
EWD 3トレーニングコース#7 ewd-xpressメッセージ・パターンを適用する
 
入力フォームチェックをJ queryでやってみた
入力フォームチェックをJ queryでやってみた入力フォームチェックをJ queryでやってみた
入力フォームチェックをJ queryでやってみた
 
EWD 3トレーニングコース#30 ewd-xpressアプリケーションをモジュラー化する
EWD 3トレーニングコース#30 ewd-xpressアプリケーションをモジュラー化するEWD 3トレーニングコース#30 ewd-xpressアプリケーションをモジュラー化する
EWD 3トレーニングコース#30 ewd-xpressアプリケーションをモジュラー化する
 
EWD 3トレーニングコース#15 ewd-xpressでjQuery以外のフレームワークを利用する
EWD 3トレーニングコース#15 ewd-xpressでjQuery以外のフレームワークを利用するEWD 3トレーニングコース#15 ewd-xpressでjQuery以外のフレームワークを利用する
EWD 3トレーニングコース#15 ewd-xpressでjQuery以外のフレームワークを利用する
 
これからのJSの話をしよう ~jQueryで作るTwitterアプリ~ (Gunma.web #2 2010/10/9)
これからのJSの話をしよう ~jQueryで作るTwitterアプリ~ (Gunma.web #2 2010/10/9)これからのJSの話をしよう ~jQueryで作るTwitterアプリ~ (Gunma.web #2 2010/10/9)
これからのJSの話をしよう ~jQueryで作るTwitterアプリ~ (Gunma.web #2 2010/10/9)
 
20140523 jQuery基礎 (HTML5ビギナーズ)
20140523 jQuery基礎 (HTML5ビギナーズ)20140523 jQuery基礎 (HTML5ビギナーズ)
20140523 jQuery基礎 (HTML5ビギナーズ)
 
少人数から始めるできるだけ楽をするB2Bアプリ開発
少人数から始めるできるだけ楽をするB2Bアプリ開発少人数から始めるできるだけ楽をするB2Bアプリ開発
少人数から始めるできるだけ楽をするB2Bアプリ開発
 
jQueryで作るカスタム投稿の画像スライダーライブラリ
jQueryで作るカスタム投稿の画像スライダーライブラリjQueryで作るカスタム投稿の画像スライダーライブラリ
jQueryで作るカスタム投稿の画像スライダーライブラリ
 

Similar to 【ハンズオン】jQuery+HTML5 APIでスライドショーを作ろう

HTML5とOSSで作るブラウザで簡単顔認識
HTML5とOSSで作るブラウザで簡単顔認識HTML5とOSSで作るブラウザで簡単顔認識
HTML5とOSSで作るブラウザで簡単顔認識Mitsuru Ogawa
 
最新Webプロトコル傾向と対策
最新Webプロトコル傾向と対策最新Webプロトコル傾向と対策
最新Webプロトコル傾向と対策Kensaku Komatsu
 
今からハジメるHTML5プログラミング
今からハジメるHTML5プログラミング今からハジメるHTML5プログラミング
今からハジメるHTML5プログラミングSwapSkills
 
スマートフォン開発の事例 Html5開発の導入ポイント
スマートフォン開発の事例 Html5開発の導入ポイントスマートフォン開発の事例 Html5開発の導入ポイント
スマートフォン開発の事例 Html5開発の導入ポイントMasakazu Muraoka
 
パンダの会 Html5概説
パンダの会 Html5概説パンダの会 Html5概説
パンダの会 Html5概説Masakazu Muraoka
 
ON HTML5 FIELD で書き尽くせなかったこと
ON HTML5 FIELD で書き尽くせなかったことON HTML5 FIELD で書き尽くせなかったこと
ON HTML5 FIELD で書き尽くせなかったことMasakazu Muraoka
 
2014年メディア工房勉強会 第1章「Webの仕組みとHTML5」
2014年メディア工房勉強会 第1章「Webの仕組みとHTML5」2014年メディア工房勉強会 第1章「Webの仕組みとHTML5」
2014年メディア工房勉強会 第1章「Webの仕組みとHTML5」Takashi Endo
 
_HTML5で組んでみた_
_HTML5で組んでみた__HTML5で組んでみた_
_HTML5で組んでみた_Kelly Holonic
 
HTML5が最近どうなっていて何があぶなっかしいのか?
HTML5が最近どうなっていて何があぶなっかしいのか?HTML5が最近どうなっていて何があぶなっかしいのか?
HTML5が最近どうなっていて何があぶなっかしいのか?Masakazu Muraoka
 
Attractive HTML5
Attractive HTML5Attractive HTML5
Attractive HTML5Sho Ito
 
Html5でOpen Dataをやってみる
Html5でOpen DataをやってみるHtml5でOpen Dataをやってみる
Html5でOpen DataをやってみるMasakazu Muraoka
 
html5とcss3実例紹介とデモ
html5とcss3実例紹介とデモhtml5とcss3実例紹介とデモ
html5とcss3実例紹介とデモAkihiro Sugiyama
 
Service workerとwebプッシュ通知
Service workerとwebプッシュ通知Service workerとwebプッシュ通知
Service workerとwebプッシュ通知zaru sakuraba
 
HTML5時代のwebクリエイターに必要なこと
HTML5時代のwebクリエイターに必要なことHTML5時代のwebクリエイターに必要なこと
HTML5時代のwebクリエイターに必要なことMasakazu Muraoka
 
2010-10-2 FxUG 名古屋勉強会 HTML5で遊んでみよう
2010-10-2 FxUG 名古屋勉強会 HTML5で遊んでみよう2010-10-2 FxUG 名古屋勉強会 HTML5で遊んでみよう
2010-10-2 FxUG 名古屋勉強会 HTML5で遊んでみようMori Shingo
 
Html5で変わるいろんなこと
Html5で変わるいろんなことHtml5で変わるいろんなこと
Html5で変わるいろんなことMasakazu Muraoka
 

Similar to 【ハンズオン】jQuery+HTML5 APIでスライドショーを作ろう (20)

HTML5 のお話
HTML5 のお話HTML5 のお話
HTML5 のお話
 
HTML5とOSSで作るブラウザで簡単顔認識
HTML5とOSSで作るブラウザで簡単顔認識HTML5とOSSで作るブラウザで簡単顔認識
HTML5とOSSで作るブラウザで簡単顔認識
 
Html5 and Graphics
Html5 and GraphicsHtml5 and Graphics
Html5 and Graphics
 
最新Webプロトコル傾向と対策
最新Webプロトコル傾向と対策最新Webプロトコル傾向と対策
最新Webプロトコル傾向と対策
 
Platform.html5
Platform.html5Platform.html5
Platform.html5
 
今からハジメるHTML5プログラミング
今からハジメるHTML5プログラミング今からハジメるHTML5プログラミング
今からハジメるHTML5プログラミング
 
スマートフォン開発の事例 Html5開発の導入ポイント
スマートフォン開発の事例 Html5開発の導入ポイントスマートフォン開発の事例 Html5開発の導入ポイント
スマートフォン開発の事例 Html5開発の導入ポイント
 
パンダの会 Html5概説
パンダの会 Html5概説パンダの会 Html5概説
パンダの会 Html5概説
 
ON HTML5 FIELD で書き尽くせなかったこと
ON HTML5 FIELD で書き尽くせなかったことON HTML5 FIELD で書き尽くせなかったこと
ON HTML5 FIELD で書き尽くせなかったこと
 
2014年メディア工房勉強会 第1章「Webの仕組みとHTML5」
2014年メディア工房勉強会 第1章「Webの仕組みとHTML5」2014年メディア工房勉強会 第1章「Webの仕組みとHTML5」
2014年メディア工房勉強会 第1章「Webの仕組みとHTML5」
 
Htmlのコトバ
HtmlのコトバHtmlのコトバ
Htmlのコトバ
 
_HTML5で組んでみた_
_HTML5で組んでみた__HTML5で組んでみた_
_HTML5で組んでみた_
 
HTML5が最近どうなっていて何があぶなっかしいのか?
HTML5が最近どうなっていて何があぶなっかしいのか?HTML5が最近どうなっていて何があぶなっかしいのか?
HTML5が最近どうなっていて何があぶなっかしいのか?
 
Attractive HTML5
Attractive HTML5Attractive HTML5
Attractive HTML5
 
Html5でOpen Dataをやってみる
Html5でOpen DataをやってみるHtml5でOpen Dataをやってみる
Html5でOpen Dataをやってみる
 
html5とcss3実例紹介とデモ
html5とcss3実例紹介とデモhtml5とcss3実例紹介とデモ
html5とcss3実例紹介とデモ
 
Service workerとwebプッシュ通知
Service workerとwebプッシュ通知Service workerとwebプッシュ通知
Service workerとwebプッシュ通知
 
HTML5時代のwebクリエイターに必要なこと
HTML5時代のwebクリエイターに必要なことHTML5時代のwebクリエイターに必要なこと
HTML5時代のwebクリエイターに必要なこと
 
2010-10-2 FxUG 名古屋勉強会 HTML5で遊んでみよう
2010-10-2 FxUG 名古屋勉強会 HTML5で遊んでみよう2010-10-2 FxUG 名古屋勉強会 HTML5で遊んでみよう
2010-10-2 FxUG 名古屋勉強会 HTML5で遊んでみよう
 
Html5で変わるいろんなこと
Html5で変わるいろんなことHtml5で変わるいろんなこと
Html5で変わるいろんなこと
 

Recently uploaded

あらゆる通信環境で切れない「ネットモーション」のモバイルアクセス [NetMotion]
あらゆる通信環境で切れない「ネットモーション」のモバイルアクセス [NetMotion]あらゆる通信環境で切れない「ネットモーション」のモバイルアクセス [NetMotion]
あらゆる通信環境で切れない「ネットモーション」のモバイルアクセス [NetMotion]Taka Narita
 
動的 & 非同期コンポーネント / Dynamic & Async Components
動的 & 非同期コンポーネント / Dynamic & Async Components動的 & 非同期コンポーネント / Dynamic & Async Components
動的 & 非同期コンポーネント / Dynamic & Async Componentsokitamasashi
 
Windowsアップデート後の黒い画面を修正する方法|データ復元|ブラックスクリーン
Windowsアップデート後の黒い画面を修正する方法|データ復元|ブラックスクリーンWindowsアップデート後の黒い画面を修正する方法|データ復元|ブラックスクリーン
Windowsアップデート後の黒い画面を修正する方法|データ復元|ブラックスクリーンivanwang53
 
Windows 10、Windows 11の付箋を簡単に復元する6つの方法|データ復元
Windows 10、Windows 11の付箋を簡単に復元する6つの方法|データ復元Windows 10、Windows 11の付箋を簡単に復元する6つの方法|データ復元
Windows 10、Windows 11の付箋を簡単に復元する6つの方法|データ復元ivanwang53
 
Windows Defenderのフル・クイック・カスタム・オフラインスキャンを実行する方法.docx
Windows Defenderのフル・クイック・カスタム・オフラインスキャンを実行する方法.docxWindows Defenderのフル・クイック・カスタム・オフラインスキャンを実行する方法.docx
Windows Defenderのフル・クイック・カスタム・オフラインスキャンを実行する方法.docxivanwang53
 
ダウンロードがダウンロード(Downloads)フォルダに表示されない」問題の対処法
ダウンロードがダウンロード(Downloads)フォルダに表示されない」問題の対処法ダウンロードがダウンロード(Downloads)フォルダに表示されない」問題の対処法
ダウンロードがダウンロード(Downloads)フォルダに表示されない」問題の対処法ivanwang53
 

Recently uploaded (6)

あらゆる通信環境で切れない「ネットモーション」のモバイルアクセス [NetMotion]
あらゆる通信環境で切れない「ネットモーション」のモバイルアクセス [NetMotion]あらゆる通信環境で切れない「ネットモーション」のモバイルアクセス [NetMotion]
あらゆる通信環境で切れない「ネットモーション」のモバイルアクセス [NetMotion]
 
動的 & 非同期コンポーネント / Dynamic & Async Components
動的 & 非同期コンポーネント / Dynamic & Async Components動的 & 非同期コンポーネント / Dynamic & Async Components
動的 & 非同期コンポーネント / Dynamic & Async Components
 
Windowsアップデート後の黒い画面を修正する方法|データ復元|ブラックスクリーン
Windowsアップデート後の黒い画面を修正する方法|データ復元|ブラックスクリーンWindowsアップデート後の黒い画面を修正する方法|データ復元|ブラックスクリーン
Windowsアップデート後の黒い画面を修正する方法|データ復元|ブラックスクリーン
 
Windows 10、Windows 11の付箋を簡単に復元する6つの方法|データ復元
Windows 10、Windows 11の付箋を簡単に復元する6つの方法|データ復元Windows 10、Windows 11の付箋を簡単に復元する6つの方法|データ復元
Windows 10、Windows 11の付箋を簡単に復元する6つの方法|データ復元
 
Windows Defenderのフル・クイック・カスタム・オフラインスキャンを実行する方法.docx
Windows Defenderのフル・クイック・カスタム・オフラインスキャンを実行する方法.docxWindows Defenderのフル・クイック・カスタム・オフラインスキャンを実行する方法.docx
Windows Defenderのフル・クイック・カスタム・オフラインスキャンを実行する方法.docx
 
ダウンロードがダウンロード(Downloads)フォルダに表示されない」問題の対処法
ダウンロードがダウンロード(Downloads)フォルダに表示されない」問題の対処法ダウンロードがダウンロード(Downloads)フォルダに表示されない」問題の対処法
ダウンロードがダウンロード(Downloads)フォルダに表示されない」問題の対処法
 

【ハンズオン】jQuery+HTML5 APIでスライドショーを作ろう