SlideShare una empresa de Scribd logo
1 de 46
Descargar para leer sin conexión
WordBench Nagoya 201601
WordBench Nagoya 201601
jQueryで動かしてみよう
WordPressに導入してみよう
熊上 隆
動カスヨー
WordBench Nagoya 201601
WordBench Nagoya 201601
■自己紹介
熊上 隆
WordBench Nagoya 広報担当
WordBench Nagoya 2014年 幹事
WordPress,jQuery,PHP,Ubuntuなどなど
TW:@imagamuk
FB:https://www.facebook.com/takashi.kumagami
WordBench Nagoya 201601
WordBench Nagoya 201601
■アジェンダ
【1.静的サイトにjQueryを入れてみよう】
■1. 動かす前に
 ・jQueryを読み込もう
■2. jQueryで動かしてみよう
 ・基本的な書き方
 ・fade⃝⃝、slide⃝⃝、show&hide、animate
 ・バブリングや動きすぎの対処法
【2.WordPressに入れてみよう】
 ・通常のjQueryとWordPressのjQueryの違い
 ・WordPressでjQueryを呼び出す関数
 ・高度なテクニック
WordBench Nagoya 201601
WordBench Nagoya 201601
■アジェンダ
【1.静的サイトにjQueryを入れてみよう】
■1. 動かす前に
 ・jQueryを読み込もう
■2. jQueryで動かしてみよう
 ・基本的な書き方
 ・fade⃝⃝、slide⃝⃝、show&hide、animate
 ・バブリングや動きすぎの対処法
【2.WordPressに入れてみよう】
 ・通常のjQueryとWordPressのjQueryの違い
 ・WordPressでjQueryを呼び出す関数
 ・高度なテクニック
WordBench Nagoya 201601
WordBench Nagoya 201601
■jQueryを動かす前に
「jQuery本体」は以下からダウンロードできます。
普段はこちらからダウンロードして使いましょう。
■jQueryダウンロード
http://jquery.com/download/
■jQueryって何?
JavaScriptのライブラリの一種。
ライブラリとは、いろんな機能を詰め込んでまとめたもの。
他にもprototype.jsやMooToolsなどなどたくさんの
ライブラリがあります。
WordBench Nagoya 201601
WordBench Nagoya 201601
■jQueryを動かす前に
jQueryを動かすためには、各jQueryファイルを読み込む前に
「jQuery本体」を読み込む必要があります。
<script type= text/javascript charset= utf-8
src= js/jquery.js ></script>
ファイル名は管理する人々により違いますが、だいたい
 ・jquery.js
 ・jquery.min.js
 ・jquery-1.12.0.min.js
などなど、だいたいこんな名前のことが多いです。
WordBench Nagoya 201601
WordBench Nagoya 201601
■jQueryを動かす前に
「jQuery本体」を読み込んだら、続いて動かしたいjQueryファイ
ルを読み込みます。
<script type= text/javascript charset= utf-8
src= js/jquery.js ></script>
<script type= text/javascript charset= utf-8 src= js/
hoge.js >
WordBench Nagoya 201601
WordBench Nagoya 201601
■アジェンダ
【1.静的サイトにjQueryを入れてみよう】
■1. 動かす前に
 ・jQueryを読み込もう
■2. jQueryで動かしてみよう
 ・基本的な書き方
 ・fade⃝⃝、slide⃝⃝、animate
 ・バブリングや動きすぎの対処法
【2.WordPressに入れてみよう】
 ・通常のjQueryとWordPressのjQueryの違い
 ・WordPressでjQueryを呼び出す関数
 ・高度なテクニック
WordBench Nagoya 201601
WordBench Nagoya 201601
■基本的な書き方
$(function(){
// この中に命令文を書きます。
});
お約束的な書き方です。
※高度なものではこの書き方でないものもありますが、
とりあえずこの書き方を覚えてください。
WordBench Nagoya 201601
WordBench Nagoya 201601
■基本的な書き方
■kirikae.jsの解説
$(function(){
$( button ).click(function(){
$( img ).attr( src , /images/002.jpg );
});
});
HTMLの該当する部分を指定します。
CSSと同様、#headerや.contentsなどIDやクラスの指定が
できます。
WordBench Nagoya 201601
WordBench Nagoya 201601
■基本的な書き方
■kirikae.jsの解説
$(function(){
$( button ).click(function(){
$( img ).attr( src , images/002.jpg );
});
});
∼∼をしたとき、という動作を指定します。
「イベント」と言います。
他にもマウスが乗ったとき、マウスがどいたときなどの
命令文があります。
WordBench Nagoya 201601
WordBench Nagoya 201601
■基本的な書き方
■kirikae.jsの解説
$(function(){
$( button ).click(function(){
$( img ).attr( src , images/002.jpg );
});
});
「.attr」は前に書いているタグの指定した属性の値を書き換える
命令文です。
※特定のHTMLタグの属性の値を取得する場合にも
利用する命令文です。
WordBench Nagoya 201601
WordBench Nagoya 201601
■基本的な書き方
イベントや命令文は他にもいっぱいあります。
解説しだすとアニメーションまで間に合わないので
各自でお勉強しましょう!
WordBench Nagoya 201601
WordBench Nagoya 201601
■アジェンダ
【1.静的サイトにjQueryを入れてみよう】
■1. 動かす前に
 ・jQueryを読み込もう
■2. jQueryで動かしてみよう
 ・基本的な書き方
 ・fade⃝⃝、slide⃝⃝、show&hide、animate
 ・バブリングや動きすぎの対処法
【2.WordPressに入れてみよう】
 ・通常のjQueryとWordPressのjQueryの違い
 ・WordPressでjQueryを呼び出す関数
 ・高度なテクニック
WordBench Nagoya 201601
WordBench Nagoya 201601
■fadeIn・fadeOut
$(function(){
$( button ).click(function(){
$( img ).fadeOut(1000);
});
$( button ).click(function(){
$( img ).fadeIn(1000);
});
});
fadeOut…ゆっくり消えていく
fadeIn…ゆっくり現れる
かっこの中の数字はアニメーションする秒数(ms)です。
WordBench Nagoya 201601
WordBench Nagoya 201601
■slideUp・slideDown
$(function(){
$( button ).click(function(){
if($( img ).css( display ) === block ) {
$( img ).slideUp();
} else {
$( img ).slideDown();
};
});
});
slideUp…上にスライドして消える
slideDown…上からスライドして現れる
WordBench Nagoya 201601
WordBench Nagoya 201601
■slideToggle
$(function(){
$( button ).click(function(){
$( img ).slideToggle();
});
});
slideToggle…
対象となる要素のdisplayプロパティがnoneだった場合、
slideDown()と同様の動きをします。
対象となる要素のdisplayプロパティがblockだった場合、
slideUp()と同様の動きをします。
WordBench Nagoya 201601
WordBench Nagoya 201601
■show()・hide()
$(function(){
$( button.slide ).click(function(){
if($( img ).css( display ) === block ) {
$( img ).hide();
} else {
$( img ).show();
};
});
});
hide()…隠す。displayプロパティをnoneにします。
show()…現れる。displayプロパティをblockにします。
WordBench Nagoya 201601
WordBench Nagoya 201601
■animate
$(function(){
$( button ).click(function(){
$( .wapuu ).animate({
left : 700px ,
top : 30px
}, 600, swing );
});
});
WordBench Nagoya 201601
WordBench Nagoya 201601
■animate
$(function(){
$( button.animate ).click(function(){
$( .wapuu ).animate({
left : 700px ,
top : 30px
}, 600, swing );
});
});
{}の中身…動かしたいCSSを指定。
※pxや%やemなどの単位で指定できるものに限ります。
WordBench Nagoya 201601
WordBench Nagoya 201601
■animate
$(function(){
$( button.animate ).click(function(){
$( .wapuu ).animate({
left : 700px ,
top : 30px
}, 600, swing );
});
});
はやさ。同じく(ms)で指定。
WordBench Nagoya 201601
WordBench Nagoya 201601
■animate
$(function(){
$( button.animate ).click(function(){
$( .wapuu ).animate({
left : 700px ,
top : 30px
}, 600, swing );
});
});
動かし方。以下の二つから選べます。
・swing…最初と最後、ゆっくりになる。
・linear…常に一定のスピード。
WordBench Nagoya 201601
WordBench Nagoya 201601
■アジェンダ
【1.静的サイトにjQueryを入れてみよう】
■1. 動かす前に
 ・jQueryを読み込もう
■2. jQueryで動かしてみよう
 ・基本的な書き方
 ・fade⃝⃝、slide⃝⃝、show&hide、animate
 ・バブリングや動きすぎの対処法
【2.WordPressに入れてみよう】
 ・通常のjQueryとWordPressのjQueryの違い
 ・WordPressでjQueryを呼び出す関数
 ・高度なテクニック
WordBench Nagoya 201601
WordBench Nagoya 201601
■バブリングや動きすぎの対処
$(function(){
$( .sample05 ).click(function(){
$( .sample05 ).slideUp();
});
$( li ).click(function(){
$( li ).slideUp();
)};
});
WordBench Nagoya 201601
WordBench Nagoya 201601
■バブリングや動きすぎの対処
■バブリング
JavaScriptにはDOMという概念があり、与えられた命令は
「DOMを通じて上の各要素に伝播する」性質があります。
li
div.sample05
document
window
俺クリックされた!
拙者もクリックされた!
某もクリックされた!
ワイもクリックされた!
WordBench Nagoya 201601
WordBench Nagoya 201601
■バブリングや動きすぎの対処
■動きすぎィ!
イベントで「クリック(.click)」など使用したとき、
クリックするとクリックした数だけアニメーションが動きます。
$(function(){
$( button.slide ).click(function(){
$( img ).slideToggle();
});
});
WordBench Nagoya 201601
WordBench Nagoya 201601
■バブリングや動きすぎの対処
■対処方法
1.return falseをつかう
$(function(){
$( .sample05 ).click(function(){
$( .sample05 ).slideUp();
});
$( li ).click(function(){
$( li ).slideUp();
return false;
)};
});
return falseには伝播やHTML上の命令を止める働きがあります。
<a>タグのリンクの働きを打ち消すときにも使用されます。
WordBench Nagoya 201601
WordBench Nagoya 201601
■バブリングや動きすぎの対処
■対処方法
2.:not(:animated)をつかう
$(function(){
$( button.bubble ).click(function(){
$( img:not(:animated) ).slideToggle();
});
});
「:not()」は()内で指定したプロパティの打ち消し、
「:animated」はアニメーションしている、の意味です。
WordBench Nagoya 201601
WordBench Nagoya 201601
■アジェンダ
【1.静的サイトにjQueryを入れてみよう】
■1. 動かす前に
 ・jQueryを読み込もう
■2. jQueryで動かしてみよう
 ・基本的な書き方
 ・fade⃝⃝、slide⃝⃝、show&hide、animate
 ・バブリングや動きすぎの対処法
【2.WordPressに入れてみよう】
 ・通常のjQueryとWordPressのjQueryの違い
 ・WordPressでjQueryを呼び出す関数
 ・高度なテクニック
WordBench Nagoya 201601
WordBench Nagoya 201601
■WordPressが用意するjQuery
WordPressではあらかじめ「jQuery本体」は
用意されています。
jQueryのWebサイトからダウンロードする必要はありません。
ダウンロードして
持って来んなヨ!
WordBench Nagoya 201601
WordBench Nagoya 201601
■WordPressが用意するjQuery
実はWordPressが準備してくれるjQueryはちょっとだけ
加工されています。
jQuery.noConflict();
WordBench Nagoya 201601
WordBench Nagoya 201601
■WordPressが用意するjQuery
■jQuery.noConflict() ってなに?
$関数はprototype.jsなどをはじめ、多くのライブラリがそれぞれ拡張している関数で
ある。
jQueryでも、核となるjQueryオブジェクトのショートカットとして極めて頻繁に利用
される。
このコマンドは、そのような$関数を定義する複数のライブラリを用いた際に衝突する
ことを防ぐものである。
- jQuery日本語リファレンスより抜粋 -
→WordPressではprototype.jsも使用されており、
prototype.jsとの衝突を防ぐため、関数の「$」が
使えないようになっています!
WordBench Nagoya 201601
WordBench Nagoya 201601
■WordPress下のjQueryはこう書く!
jQuery(function(){
jQuery( button.animate ).click(function(){
jQuery( .wapuu ).animate({
left : 700px ,
top : 30px
}, 600, swing );
});
});
「$」を「jQuery」という文字に置き換えてください!
WordBench Nagoya 201601
WordBench Nagoya 201601
■WordPress下のjQueryはこう書く!
でも…
人が書いたjQueryだとどこに「$」があるかなんて
見てられないですよね(́・ω・`)
WordBench Nagoya 201601
WordBench Nagoya 201601
■WordPress下のjQueryはこう書く!
(function($){
$(function(){
$( button.animate ).click(function(){
$( .wapuu ).animate({
left : 700px ,
top : 30px
}, 600, swing );
});
});
})(jQuery);
この方法を「カプセル化」といいます。
WordBench Nagoya 201601
WordBench Nagoya 201601
■アジェンダ
【1.静的サイトにjQueryを入れてみよう】
■1. 動かす前に
 ・jQueryを読み込もう
■2. jQueryで動かしてみよう
 ・基本的な書き方
 ・fade⃝⃝、slide⃝⃝、show&hide、animate
 ・バブリングや動きすぎの対処法
【2.WordPressに入れてみよう】
 ・通常のjQueryとWordPressのjQueryの違い
 ・WordPressでjQueryを呼び出す関数
 ・高度なテクニック
WordBench Nagoya 201601
WordBench Nagoya 201601
■WordPressでjQueryを呼び出す方法
普通に<script type=…></script>と書いてもいいですが
キチンとWordPressの関数が用意されています。
<?php
wp_enqueue_script(
anime ,
get_template_directory_uri(). /js/animate.js ,
array(jquery) )
; ?>
これを「wp_head()」の前に書きます。
WordBench Nagoya 201601
WordBench Nagoya 201601
■WordPressでjQueryを呼び出す方法
普通に<script type=…></script>と書いてもいいですが
キチンとWordPressの関数が用意されています。
<?php
wp_enqueue_script(
anime ,
get_template_directory_uri(). /js/animate.js ,
array(jquery) )
; ?>
スクリプトのハンドル。必須なので何かアルファベットで
名前を入れる。説明は後述。
WordBench Nagoya 201601
WordBench Nagoya 201601
■WordPressでjQueryを呼び出す方法
普通に<script type=…></script>と書いてもいいですが
キチンとWordPressの関数が用意されています。
<?php
wp_enqueue_script(
anime ,
get_template_directory_uri(). /js/animate.js ,
array(jquery) )
; ?>
読み込みたいjQueryの場所とファイル名。
WordBench Nagoya 201601
WordBench Nagoya 201601
■WordPressでjQueryを呼び出す方法
普通に<script type=…></script>と書いてもいいですが
キチンとWordPressの関数が用意されています。
<?php
wp_enqueue_script(
anime ,
get_template_directory_uri(). /js/animate.js ,
array( jquery") )
; ?>
読み込み順を決定する。arrayの()の中に書いてあるのは
先ほど説明したハンドル。
WordBench Nagoya 201601
WordBench Nagoya 201601
■アジェンダ
【1.静的サイトにjQueryを入れてみよう】
■1. 動かす前に
 ・jQueryを読み込もう
■2. jQueryで動かしてみよう
 ・基本的な書き方
 ・fade⃝⃝、slide⃝⃝、show&hide、animate
 ・バブリングや動きすぎの対処法
【2.WordPressに入れてみよう】
 ・通常のjQueryとWordPressのjQueryの違い
 ・WordPressでjQueryを呼び出す関数
 ・高度なテクニック
WordBench Nagoya 201601
WordBench Nagoya 201601
■高度なテクニック
(function($){
$(function(){
$( button.animate ).click(function(){
$( .wapuu ).animate({
left : 700px ,
top : 50px
}, 600, swing , function(){
$( .ugo ).fadeIn(1000);
});
});
});
})(jQuery);
WordBench Nagoya 201601
WordBench Nagoya 201601
■高度なテクニック
動かす時間(animate関数の場合は動き)の後に、
さらにfunction()…で命令を出すことができます。
これはコールバック関数といいます。
コールバック関数は必ず最初に書いている処理の後に
動きだすようになっているので、
連続でアニメーションを動かす時、タイミングを調整するのに
使われます。
WordBench Nagoya 201601
WordBench Nagoya 201601
■高度なテクニック
■演習問題です!
WordBench Nagoya 201601
WordBench Nagoya 201601
jQueryで動かしてみよう
WordPressに導入してみよう
熊上 隆
動カスヨー
WordBench Nagoya 201601
WordBench Nagoya 201601
■高度なテクニック
この動きをjQueryで実現してみましょう!
※「動カスヨー」の文字っぽい画像はugo.jpgとして用意してあ
ります。

Más contenido relacionado

Similar a WordBench Nagoya 201601

WordPress プラグイン Infinite Scroll を試してみた
WordPress プラグイン Infinite Scroll を試してみたWordPress プラグイン Infinite Scroll を試してみた
WordPress プラグイン Infinite Scroll を試してみたYuji Nojima
 
HTML5の前のJavaScript入門
HTML5の前のJavaScript入門HTML5の前のJavaScript入門
HTML5の前のJavaScript入門Hiroki Toyokawa
 
HTML5のCanvas入門 - Img画像を編集してみよう -
HTML5のCanvas入門 - Img画像を編集してみよう -HTML5のCanvas入門 - Img画像を編集してみよう -
HTML5のCanvas入門 - Img画像を編集してみよう -Toshio Ehara
 
Svgアニメーションを実装してみよう 20150207
Svgアニメーションを実装してみよう 20150207Svgアニメーションを実装してみよう 20150207
Svgアニメーションを実装してみよう 20150207Kanako Kobayashi
 
NetBeansでかんたんJava EE ○分間クッキング! #kuwaccho lt
NetBeansでかんたんJava EE ○分間クッキング! #kuwaccho ltNetBeansでかんたんJava EE ○分間クッキング! #kuwaccho lt
NetBeansでかんたんJava EE ○分間クッキング! #kuwaccho ltMasatoshi Tada
 
JavaScript + CSS3を活用して スマートフォンサイト/アプリに 動きを付けてみよう
JavaScript + CSS3を活用して スマートフォンサイト/アプリに 動きを付けてみようJavaScript + CSS3を活用して スマートフォンサイト/アプリに 動きを付けてみよう
JavaScript + CSS3を活用して スマートフォンサイト/アプリに 動きを付けてみようHiroaki Wakamatsu
 
pairsでのAngularJS x TypeScript x e2e @めぐすた#1
pairsでのAngularJS x TypeScript x e2e @めぐすた#1 pairsでのAngularJS x TypeScript x e2e @めぐすた#1
pairsでのAngularJS x TypeScript x e2e @めぐすた#1 Takuma Morikawa
 
レスポンシブWebデザイン【発展編】
レスポンシブWebデザイン【発展編】レスポンシブWebデザイン【発展編】
レスポンシブWebデザイン【発展編】Yasuhito Yabe
 
HTML5-20100626
HTML5-20100626HTML5-20100626
HTML5-20100626Taku AMANO
 
今度こそ始めるjQuery超入門
今度こそ始めるjQuery超入門今度こそ始めるjQuery超入門
今度こそ始めるjQuery超入門西畑 一馬
 
Css3でキャラクターアニメーションに挑戦してみた
Css3でキャラクターアニメーションに挑戦してみたCss3でキャラクターアニメーションに挑戦してみた
Css3でキャラクターアニメーションに挑戦してみたShinichi Sato
 
Javaな人が気を付けるべきJavaScriptコーディングスタイル
Javaな人が気を付けるべきJavaScriptコーディングスタイルJavaな人が気を付けるべきJavaScriptコーディングスタイル
Javaな人が気を付けるべきJavaScriptコーディングスタイルMaaya Ishida
 
スマホにおけるWebGL入門
スマホにおけるWebGL入門スマホにおけるWebGL入門
スマホにおけるWebGL入門Yohta Kanke
 
20140712 knockoutjs-hands-on-in-osaka
20140712 knockoutjs-hands-on-in-osaka20140712 knockoutjs-hands-on-in-osaka
20140712 knockoutjs-hands-on-in-osakaSeiji Noro
 
Web制作勉強会 #2
Web制作勉強会 #2Web制作勉強会 #2
Web制作勉強会 #2Moto Yan
 
How do you like knockout?
How do you like knockout?How do you like knockout?
How do you like knockout?Narami Kiyokura
 
2016/12/17 ASP.NET フロントエンドタスク入門
 2016/12/17 ASP.NET フロントエンドタスク入門 2016/12/17 ASP.NET フロントエンドタスク入門
2016/12/17 ASP.NET フロントエンドタスク入門miso- soup3
 
Riot.jsを用いたweb開発 takusuta tech conf #1
Riot.jsを用いたweb開発   takusuta tech conf #1Riot.jsを用いたweb開発   takusuta tech conf #1
Riot.jsを用いたweb開発 takusuta tech conf #1Keisuke Imai
 
メンバーのスキルアップ、どうしてる? − Java 100本ノックで新加入メンバーを鍛えてみた −
メンバーのスキルアップ、どうしてる? − Java 100本ノックで新加入メンバーを鍛えてみた −メンバーのスキルアップ、どうしてる? − Java 100本ノックで新加入メンバーを鍛えてみた −
メンバーのスキルアップ、どうしてる? − Java 100本ノックで新加入メンバーを鍛えてみた −JustSystems Corporation
 
S14 t3 yosuke_yamashita
S14 t3 yosuke_yamashitaS14 t3 yosuke_yamashita
S14 t3 yosuke_yamashitaTakeshi Akutsu
 

Similar a WordBench Nagoya 201601 (20)

WordPress プラグイン Infinite Scroll を試してみた
WordPress プラグイン Infinite Scroll を試してみたWordPress プラグイン Infinite Scroll を試してみた
WordPress プラグイン Infinite Scroll を試してみた
 
HTML5の前のJavaScript入門
HTML5の前のJavaScript入門HTML5の前のJavaScript入門
HTML5の前のJavaScript入門
 
HTML5のCanvas入門 - Img画像を編集してみよう -
HTML5のCanvas入門 - Img画像を編集してみよう -HTML5のCanvas入門 - Img画像を編集してみよう -
HTML5のCanvas入門 - Img画像を編集してみよう -
 
Svgアニメーションを実装してみよう 20150207
Svgアニメーションを実装してみよう 20150207Svgアニメーションを実装してみよう 20150207
Svgアニメーションを実装してみよう 20150207
 
NetBeansでかんたんJava EE ○分間クッキング! #kuwaccho lt
NetBeansでかんたんJava EE ○分間クッキング! #kuwaccho ltNetBeansでかんたんJava EE ○分間クッキング! #kuwaccho lt
NetBeansでかんたんJava EE ○分間クッキング! #kuwaccho lt
 
JavaScript + CSS3を活用して スマートフォンサイト/アプリに 動きを付けてみよう
JavaScript + CSS3を活用して スマートフォンサイト/アプリに 動きを付けてみようJavaScript + CSS3を活用して スマートフォンサイト/アプリに 動きを付けてみよう
JavaScript + CSS3を活用して スマートフォンサイト/アプリに 動きを付けてみよう
 
pairsでのAngularJS x TypeScript x e2e @めぐすた#1
pairsでのAngularJS x TypeScript x e2e @めぐすた#1 pairsでのAngularJS x TypeScript x e2e @めぐすた#1
pairsでのAngularJS x TypeScript x e2e @めぐすた#1
 
レスポンシブWebデザイン【発展編】
レスポンシブWebデザイン【発展編】レスポンシブWebデザイン【発展編】
レスポンシブWebデザイン【発展編】
 
HTML5-20100626
HTML5-20100626HTML5-20100626
HTML5-20100626
 
今度こそ始めるjQuery超入門
今度こそ始めるjQuery超入門今度こそ始めるjQuery超入門
今度こそ始めるjQuery超入門
 
Css3でキャラクターアニメーションに挑戦してみた
Css3でキャラクターアニメーションに挑戦してみたCss3でキャラクターアニメーションに挑戦してみた
Css3でキャラクターアニメーションに挑戦してみた
 
Javaな人が気を付けるべきJavaScriptコーディングスタイル
Javaな人が気を付けるべきJavaScriptコーディングスタイルJavaな人が気を付けるべきJavaScriptコーディングスタイル
Javaな人が気を付けるべきJavaScriptコーディングスタイル
 
スマホにおけるWebGL入門
スマホにおけるWebGL入門スマホにおけるWebGL入門
スマホにおけるWebGL入門
 
20140712 knockoutjs-hands-on-in-osaka
20140712 knockoutjs-hands-on-in-osaka20140712 knockoutjs-hands-on-in-osaka
20140712 knockoutjs-hands-on-in-osaka
 
Web制作勉強会 #2
Web制作勉強会 #2Web制作勉強会 #2
Web制作勉強会 #2
 
How do you like knockout?
How do you like knockout?How do you like knockout?
How do you like knockout?
 
2016/12/17 ASP.NET フロントエンドタスク入門
 2016/12/17 ASP.NET フロントエンドタスク入門 2016/12/17 ASP.NET フロントエンドタスク入門
2016/12/17 ASP.NET フロントエンドタスク入門
 
Riot.jsを用いたweb開発 takusuta tech conf #1
Riot.jsを用いたweb開発   takusuta tech conf #1Riot.jsを用いたweb開発   takusuta tech conf #1
Riot.jsを用いたweb開発 takusuta tech conf #1
 
メンバーのスキルアップ、どうしてる? − Java 100本ノックで新加入メンバーを鍛えてみた −
メンバーのスキルアップ、どうしてる? − Java 100本ノックで新加入メンバーを鍛えてみた −メンバーのスキルアップ、どうしてる? − Java 100本ノックで新加入メンバーを鍛えてみた −
メンバーのスキルアップ、どうしてる? − Java 100本ノックで新加入メンバーを鍛えてみた −
 
S14 t3 yosuke_yamashita
S14 t3 yosuke_yamashitaS14 t3 yosuke_yamashita
S14 t3 yosuke_yamashita
 

Último

IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxIoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxAtomu Hidaka
 
PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000Shota Ito
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略Ryo Sasaki
 
UPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdfUPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdffurutsuka
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Danieldanielhu54
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Yuma Ohgami
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムsugiuralab
 

Último (7)

IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxIoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
 
PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
 
UPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdfUPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdf
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
 

WordBench Nagoya 201601

  • 1. WordBench Nagoya 201601 WordBench Nagoya 201601 jQueryで動かしてみよう WordPressに導入してみよう 熊上 隆 動カスヨー
  • 2. WordBench Nagoya 201601 WordBench Nagoya 201601 ■自己紹介 熊上 隆 WordBench Nagoya 広報担当 WordBench Nagoya 2014年 幹事 WordPress,jQuery,PHP,Ubuntuなどなど TW:@imagamuk FB:https://www.facebook.com/takashi.kumagami
  • 3. WordBench Nagoya 201601 WordBench Nagoya 201601 ■アジェンダ 【1.静的サイトにjQueryを入れてみよう】 ■1. 動かす前に  ・jQueryを読み込もう ■2. jQueryで動かしてみよう  ・基本的な書き方  ・fade⃝⃝、slide⃝⃝、show&hide、animate  ・バブリングや動きすぎの対処法 【2.WordPressに入れてみよう】  ・通常のjQueryとWordPressのjQueryの違い  ・WordPressでjQueryを呼び出す関数  ・高度なテクニック
  • 4. WordBench Nagoya 201601 WordBench Nagoya 201601 ■アジェンダ 【1.静的サイトにjQueryを入れてみよう】 ■1. 動かす前に  ・jQueryを読み込もう ■2. jQueryで動かしてみよう  ・基本的な書き方  ・fade⃝⃝、slide⃝⃝、show&hide、animate  ・バブリングや動きすぎの対処法 【2.WordPressに入れてみよう】  ・通常のjQueryとWordPressのjQueryの違い  ・WordPressでjQueryを呼び出す関数  ・高度なテクニック
  • 5. WordBench Nagoya 201601 WordBench Nagoya 201601 ■jQueryを動かす前に 「jQuery本体」は以下からダウンロードできます。 普段はこちらからダウンロードして使いましょう。 ■jQueryダウンロード http://jquery.com/download/ ■jQueryって何? JavaScriptのライブラリの一種。 ライブラリとは、いろんな機能を詰め込んでまとめたもの。 他にもprototype.jsやMooToolsなどなどたくさんの ライブラリがあります。
  • 6. WordBench Nagoya 201601 WordBench Nagoya 201601 ■jQueryを動かす前に jQueryを動かすためには、各jQueryファイルを読み込む前に 「jQuery本体」を読み込む必要があります。 <script type= text/javascript charset= utf-8 src= js/jquery.js ></script> ファイル名は管理する人々により違いますが、だいたい  ・jquery.js  ・jquery.min.js  ・jquery-1.12.0.min.js などなど、だいたいこんな名前のことが多いです。
  • 7. WordBench Nagoya 201601 WordBench Nagoya 201601 ■jQueryを動かす前に 「jQuery本体」を読み込んだら、続いて動かしたいjQueryファイ ルを読み込みます。 <script type= text/javascript charset= utf-8 src= js/jquery.js ></script> <script type= text/javascript charset= utf-8 src= js/ hoge.js >
  • 8. WordBench Nagoya 201601 WordBench Nagoya 201601 ■アジェンダ 【1.静的サイトにjQueryを入れてみよう】 ■1. 動かす前に  ・jQueryを読み込もう ■2. jQueryで動かしてみよう  ・基本的な書き方  ・fade⃝⃝、slide⃝⃝、animate  ・バブリングや動きすぎの対処法 【2.WordPressに入れてみよう】  ・通常のjQueryとWordPressのjQueryの違い  ・WordPressでjQueryを呼び出す関数  ・高度なテクニック
  • 9. WordBench Nagoya 201601 WordBench Nagoya 201601 ■基本的な書き方 $(function(){ // この中に命令文を書きます。 }); お約束的な書き方です。 ※高度なものではこの書き方でないものもありますが、 とりあえずこの書き方を覚えてください。
  • 10. WordBench Nagoya 201601 WordBench Nagoya 201601 ■基本的な書き方 ■kirikae.jsの解説 $(function(){ $( button ).click(function(){ $( img ).attr( src , /images/002.jpg ); }); }); HTMLの該当する部分を指定します。 CSSと同様、#headerや.contentsなどIDやクラスの指定が できます。
  • 11. WordBench Nagoya 201601 WordBench Nagoya 201601 ■基本的な書き方 ■kirikae.jsの解説 $(function(){ $( button ).click(function(){ $( img ).attr( src , images/002.jpg ); }); }); ∼∼をしたとき、という動作を指定します。 「イベント」と言います。 他にもマウスが乗ったとき、マウスがどいたときなどの 命令文があります。
  • 12. WordBench Nagoya 201601 WordBench Nagoya 201601 ■基本的な書き方 ■kirikae.jsの解説 $(function(){ $( button ).click(function(){ $( img ).attr( src , images/002.jpg ); }); }); 「.attr」は前に書いているタグの指定した属性の値を書き換える 命令文です。 ※特定のHTMLタグの属性の値を取得する場合にも 利用する命令文です。
  • 13. WordBench Nagoya 201601 WordBench Nagoya 201601 ■基本的な書き方 イベントや命令文は他にもいっぱいあります。 解説しだすとアニメーションまで間に合わないので 各自でお勉強しましょう!
  • 14. WordBench Nagoya 201601 WordBench Nagoya 201601 ■アジェンダ 【1.静的サイトにjQueryを入れてみよう】 ■1. 動かす前に  ・jQueryを読み込もう ■2. jQueryで動かしてみよう  ・基本的な書き方  ・fade⃝⃝、slide⃝⃝、show&hide、animate  ・バブリングや動きすぎの対処法 【2.WordPressに入れてみよう】  ・通常のjQueryとWordPressのjQueryの違い  ・WordPressでjQueryを呼び出す関数  ・高度なテクニック
  • 15. WordBench Nagoya 201601 WordBench Nagoya 201601 ■fadeIn・fadeOut $(function(){ $( button ).click(function(){ $( img ).fadeOut(1000); }); $( button ).click(function(){ $( img ).fadeIn(1000); }); }); fadeOut…ゆっくり消えていく fadeIn…ゆっくり現れる かっこの中の数字はアニメーションする秒数(ms)です。
  • 16. WordBench Nagoya 201601 WordBench Nagoya 201601 ■slideUp・slideDown $(function(){ $( button ).click(function(){ if($( img ).css( display ) === block ) { $( img ).slideUp(); } else { $( img ).slideDown(); }; }); }); slideUp…上にスライドして消える slideDown…上からスライドして現れる
  • 17. WordBench Nagoya 201601 WordBench Nagoya 201601 ■slideToggle $(function(){ $( button ).click(function(){ $( img ).slideToggle(); }); }); slideToggle… 対象となる要素のdisplayプロパティがnoneだった場合、 slideDown()と同様の動きをします。 対象となる要素のdisplayプロパティがblockだった場合、 slideUp()と同様の動きをします。
  • 18. WordBench Nagoya 201601 WordBench Nagoya 201601 ■show()・hide() $(function(){ $( button.slide ).click(function(){ if($( img ).css( display ) === block ) { $( img ).hide(); } else { $( img ).show(); }; }); }); hide()…隠す。displayプロパティをnoneにします。 show()…現れる。displayプロパティをblockにします。
  • 19. WordBench Nagoya 201601 WordBench Nagoya 201601 ■animate $(function(){ $( button ).click(function(){ $( .wapuu ).animate({ left : 700px , top : 30px }, 600, swing ); }); });
  • 20. WordBench Nagoya 201601 WordBench Nagoya 201601 ■animate $(function(){ $( button.animate ).click(function(){ $( .wapuu ).animate({ left : 700px , top : 30px }, 600, swing ); }); }); {}の中身…動かしたいCSSを指定。 ※pxや%やemなどの単位で指定できるものに限ります。
  • 21. WordBench Nagoya 201601 WordBench Nagoya 201601 ■animate $(function(){ $( button.animate ).click(function(){ $( .wapuu ).animate({ left : 700px , top : 30px }, 600, swing ); }); }); はやさ。同じく(ms)で指定。
  • 22. WordBench Nagoya 201601 WordBench Nagoya 201601 ■animate $(function(){ $( button.animate ).click(function(){ $( .wapuu ).animate({ left : 700px , top : 30px }, 600, swing ); }); }); 動かし方。以下の二つから選べます。 ・swing…最初と最後、ゆっくりになる。 ・linear…常に一定のスピード。
  • 23. WordBench Nagoya 201601 WordBench Nagoya 201601 ■アジェンダ 【1.静的サイトにjQueryを入れてみよう】 ■1. 動かす前に  ・jQueryを読み込もう ■2. jQueryで動かしてみよう  ・基本的な書き方  ・fade⃝⃝、slide⃝⃝、show&hide、animate  ・バブリングや動きすぎの対処法 【2.WordPressに入れてみよう】  ・通常のjQueryとWordPressのjQueryの違い  ・WordPressでjQueryを呼び出す関数  ・高度なテクニック
  • 24. WordBench Nagoya 201601 WordBench Nagoya 201601 ■バブリングや動きすぎの対処 $(function(){ $( .sample05 ).click(function(){ $( .sample05 ).slideUp(); }); $( li ).click(function(){ $( li ).slideUp(); )}; });
  • 25. WordBench Nagoya 201601 WordBench Nagoya 201601 ■バブリングや動きすぎの対処 ■バブリング JavaScriptにはDOMという概念があり、与えられた命令は 「DOMを通じて上の各要素に伝播する」性質があります。 li div.sample05 document window 俺クリックされた! 拙者もクリックされた! 某もクリックされた! ワイもクリックされた!
  • 26. WordBench Nagoya 201601 WordBench Nagoya 201601 ■バブリングや動きすぎの対処 ■動きすぎィ! イベントで「クリック(.click)」など使用したとき、 クリックするとクリックした数だけアニメーションが動きます。 $(function(){ $( button.slide ).click(function(){ $( img ).slideToggle(); }); });
  • 27. WordBench Nagoya 201601 WordBench Nagoya 201601 ■バブリングや動きすぎの対処 ■対処方法 1.return falseをつかう $(function(){ $( .sample05 ).click(function(){ $( .sample05 ).slideUp(); }); $( li ).click(function(){ $( li ).slideUp(); return false; )}; }); return falseには伝播やHTML上の命令を止める働きがあります。 <a>タグのリンクの働きを打ち消すときにも使用されます。
  • 28. WordBench Nagoya 201601 WordBench Nagoya 201601 ■バブリングや動きすぎの対処 ■対処方法 2.:not(:animated)をつかう $(function(){ $( button.bubble ).click(function(){ $( img:not(:animated) ).slideToggle(); }); }); 「:not()」は()内で指定したプロパティの打ち消し、 「:animated」はアニメーションしている、の意味です。
  • 29. WordBench Nagoya 201601 WordBench Nagoya 201601 ■アジェンダ 【1.静的サイトにjQueryを入れてみよう】 ■1. 動かす前に  ・jQueryを読み込もう ■2. jQueryで動かしてみよう  ・基本的な書き方  ・fade⃝⃝、slide⃝⃝、show&hide、animate  ・バブリングや動きすぎの対処法 【2.WordPressに入れてみよう】  ・通常のjQueryとWordPressのjQueryの違い  ・WordPressでjQueryを呼び出す関数  ・高度なテクニック
  • 30. WordBench Nagoya 201601 WordBench Nagoya 201601 ■WordPressが用意するjQuery WordPressではあらかじめ「jQuery本体」は 用意されています。 jQueryのWebサイトからダウンロードする必要はありません。 ダウンロードして 持って来んなヨ!
  • 31. WordBench Nagoya 201601 WordBench Nagoya 201601 ■WordPressが用意するjQuery 実はWordPressが準備してくれるjQueryはちょっとだけ 加工されています。 jQuery.noConflict();
  • 32. WordBench Nagoya 201601 WordBench Nagoya 201601 ■WordPressが用意するjQuery ■jQuery.noConflict() ってなに? $関数はprototype.jsなどをはじめ、多くのライブラリがそれぞれ拡張している関数で ある。 jQueryでも、核となるjQueryオブジェクトのショートカットとして極めて頻繁に利用 される。 このコマンドは、そのような$関数を定義する複数のライブラリを用いた際に衝突する ことを防ぐものである。 - jQuery日本語リファレンスより抜粋 - →WordPressではprototype.jsも使用されており、 prototype.jsとの衝突を防ぐため、関数の「$」が 使えないようになっています!
  • 33. WordBench Nagoya 201601 WordBench Nagoya 201601 ■WordPress下のjQueryはこう書く! jQuery(function(){ jQuery( button.animate ).click(function(){ jQuery( .wapuu ).animate({ left : 700px , top : 30px }, 600, swing ); }); }); 「$」を「jQuery」という文字に置き換えてください!
  • 34. WordBench Nagoya 201601 WordBench Nagoya 201601 ■WordPress下のjQueryはこう書く! でも… 人が書いたjQueryだとどこに「$」があるかなんて 見てられないですよね(́・ω・`)
  • 35. WordBench Nagoya 201601 WordBench Nagoya 201601 ■WordPress下のjQueryはこう書く! (function($){ $(function(){ $( button.animate ).click(function(){ $( .wapuu ).animate({ left : 700px , top : 30px }, 600, swing ); }); }); })(jQuery); この方法を「カプセル化」といいます。
  • 36. WordBench Nagoya 201601 WordBench Nagoya 201601 ■アジェンダ 【1.静的サイトにjQueryを入れてみよう】 ■1. 動かす前に  ・jQueryを読み込もう ■2. jQueryで動かしてみよう  ・基本的な書き方  ・fade⃝⃝、slide⃝⃝、show&hide、animate  ・バブリングや動きすぎの対処法 【2.WordPressに入れてみよう】  ・通常のjQueryとWordPressのjQueryの違い  ・WordPressでjQueryを呼び出す関数  ・高度なテクニック
  • 37. WordBench Nagoya 201601 WordBench Nagoya 201601 ■WordPressでjQueryを呼び出す方法 普通に<script type=…></script>と書いてもいいですが キチンとWordPressの関数が用意されています。 <?php wp_enqueue_script( anime , get_template_directory_uri(). /js/animate.js , array(jquery) ) ; ?> これを「wp_head()」の前に書きます。
  • 38. WordBench Nagoya 201601 WordBench Nagoya 201601 ■WordPressでjQueryを呼び出す方法 普通に<script type=…></script>と書いてもいいですが キチンとWordPressの関数が用意されています。 <?php wp_enqueue_script( anime , get_template_directory_uri(). /js/animate.js , array(jquery) ) ; ?> スクリプトのハンドル。必須なので何かアルファベットで 名前を入れる。説明は後述。
  • 39. WordBench Nagoya 201601 WordBench Nagoya 201601 ■WordPressでjQueryを呼び出す方法 普通に<script type=…></script>と書いてもいいですが キチンとWordPressの関数が用意されています。 <?php wp_enqueue_script( anime , get_template_directory_uri(). /js/animate.js , array(jquery) ) ; ?> 読み込みたいjQueryの場所とファイル名。
  • 40. WordBench Nagoya 201601 WordBench Nagoya 201601 ■WordPressでjQueryを呼び出す方法 普通に<script type=…></script>と書いてもいいですが キチンとWordPressの関数が用意されています。 <?php wp_enqueue_script( anime , get_template_directory_uri(). /js/animate.js , array( jquery") ) ; ?> 読み込み順を決定する。arrayの()の中に書いてあるのは 先ほど説明したハンドル。
  • 41. WordBench Nagoya 201601 WordBench Nagoya 201601 ■アジェンダ 【1.静的サイトにjQueryを入れてみよう】 ■1. 動かす前に  ・jQueryを読み込もう ■2. jQueryで動かしてみよう  ・基本的な書き方  ・fade⃝⃝、slide⃝⃝、show&hide、animate  ・バブリングや動きすぎの対処法 【2.WordPressに入れてみよう】  ・通常のjQueryとWordPressのjQueryの違い  ・WordPressでjQueryを呼び出す関数  ・高度なテクニック
  • 42. WordBench Nagoya 201601 WordBench Nagoya 201601 ■高度なテクニック (function($){ $(function(){ $( button.animate ).click(function(){ $( .wapuu ).animate({ left : 700px , top : 50px }, 600, swing , function(){ $( .ugo ).fadeIn(1000); }); }); }); })(jQuery);
  • 43. WordBench Nagoya 201601 WordBench Nagoya 201601 ■高度なテクニック 動かす時間(animate関数の場合は動き)の後に、 さらにfunction()…で命令を出すことができます。 これはコールバック関数といいます。 コールバック関数は必ず最初に書いている処理の後に 動きだすようになっているので、 連続でアニメーションを動かす時、タイミングを調整するのに 使われます。
  • 44. WordBench Nagoya 201601 WordBench Nagoya 201601 ■高度なテクニック ■演習問題です!
  • 45. WordBench Nagoya 201601 WordBench Nagoya 201601 jQueryで動かしてみよう WordPressに導入してみよう 熊上 隆 動カスヨー
  • 46. WordBench Nagoya 201601 WordBench Nagoya 201601 ■高度なテクニック この動きをjQueryで実現してみましょう! ※「動カスヨー」の文字っぽい画像はugo.jpgとして用意してあ ります。