情報処理技法 (マルチメディアと表現)imhashi/web13.pdfjquery のファイルを...

67
情報処理技法 (マルチメディアと表現)I 第13回 jQuery ©D.Mitsuhashi 1

Upload: others

Post on 10-Aug-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 情報処理技法 (マルチメディアと表現)Imhashi/Web13.pdfjQuery のファイルを 外部ファイルにするには •script要素の表記を、テキストファイルで保存する

情報処理技法(マルチメディアと表現)I

第13回 jQuery

©D.Mitsuhashi 1

Page 2: 情報処理技法 (マルチメディアと表現)Imhashi/Web13.pdfjQuery のファイルを 外部ファイルにするには •script要素の表記を、テキストファイルで保存する

jQuery とは?

© MITSUHASHI Daisuke 2

講義スライド

Page 3: 情報処理技法 (マルチメディアと表現)Imhashi/Web13.pdfjQuery のファイルを 外部ファイルにするには •script要素の表記を、テキストファイルで保存する

動的なコンテンツを作成する

• HTML と CSS だけでは動的なコンテンツを作成することはできない• 動的なコンテンツを作成するには• FLASH や Silverlight などのプラグインを導⼊する• HTML5 の canvas 要素を⽤いる

• JavaScript と組み合わせる• JavaScript などのスクリプト⾔語によるプログラムを導⼊する

© MITSUHASHI Daisuke 3

講義スライド

Page 4: 情報処理技法 (マルチメディアと表現)Imhashi/Web13.pdfjQuery のファイルを 外部ファイルにするには •script要素の表記を、テキストファイルで保存する

JavaScript の役割

• HTML や CSS だけでは表現できないような動的な処理を⾏なう• 条件によって、HTML や

CSS の記述を書き換えたり、読み込むタイミングを変更するなどの処理が可能

© MITSUHASHI Daisuke 4

視覚的表現

動的な処理

動的な処理

JavaScript の独習にはCodecademy をお薦めします

Codecademyhttp://www.codecademy.com/

HTML

CSS

JavaScript

講義スライド

Page 5: 情報処理技法 (マルチメディアと表現)Imhashi/Web13.pdfjQuery のファイルを 外部ファイルにするには •script要素の表記を、テキストファイルで保存する

jQueryとは?

• JavaScript のライブラリ• JavaScript を⽤いてゼロからプログラムしていくのは技術と⼿間がか

かる• よく使われる機能についてはあらかじめプログラムされた JavaScript

ライブラリを⽤いるほうが容易• 講義では最もシェアの⾼い jQuery について紹介する

• jQuery(ジェイクエリ) http://jquery.com/• 他には、JSON, dojo Toolkit, Prototype.jsなど

© MITSUHASHI Daisuke 5

講義スライド

Page 6: 情報処理技法 (マルチメディアと表現)Imhashi/Web13.pdfjQuery のファイルを 外部ファイルにするには •script要素の表記を、テキストファイルで保存する

jQuery の特徴

• サイズが⼩さい(100kb以下)• クロスブラウザ対策がなされている• プラグイン(あらかじめjQuery でプログラムされたライブラ

リ)が豊富• オープンソース

© MITSUHASHI Daisuke 6

講義スライド

Page 7: 情報処理技法 (マルチメディアと表現)Imhashi/Web13.pdfjQuery のファイルを 外部ファイルにするには •script要素の表記を、テキストファイルで保存する

jQuery 読み込みの準備

• jQuery のサイトからプログラムをダウンロードして読み込む• http://jquery.com/• 今回は jquery-3.4.1.min.js を利⽤する

© MITSUHASHI Daisuke 7

• または、CDN を利⽤することもできる

jQuery CDN https://code.jquery.com/

<script src="./jquery-3.4.1.min.js"></script>

講義スライド

Page 8: 情報処理技法 (マルチメディアと表現)Imhashi/Web13.pdfjQuery のファイルを 外部ファイルにするには •script要素の表記を、テキストファイルで保存する

jQueryの動作確認

© MITSUHASHI Daisuke 8

<!DOCTYPE html><html lang="ja"><head>

<meta charset="UTF-8"><script src="./jquery-3.4.1.min.js"></script><title>jQuery の練習</title>

<script>$(function(){

$("h1").fadeOut(5000);});

</script>

</head>

jQuery の記述

講義スライド

Page 9: 情報処理技法 (マルチメディアと表現)Imhashi/Web13.pdfjQuery のファイルを 外部ファイルにするには •script要素の表記を、テキストファイルで保存する

jQueryの動作確認

• 正しく記述されていれば、h1要素で記述した⽂字列が徐々に消えていくはず• うまくいかない場合はコードを確認• 括弧の種類や閉じ忘れなど注意

© MITSUHASHI Daisuke 9

講義スライド

Page 10: 情報処理技法 (マルチメディアと表現)Imhashi/Web13.pdfjQuery のファイルを 外部ファイルにするには •script要素の表記を、テキストファイルで保存する

jQuery 基礎⽂法

© MITSUHASHI Daisuke 10

講義スライド

Page 11: 情報処理技法 (マルチメディアと表現)Imhashi/Web13.pdfjQuery のファイルを 外部ファイルにするには •script要素の表記を、テキストファイルで保存する

jQueryの記述法

• head要素のscript要素内で記述する• jQueryの記述を外部ファイルにすることも可能

• $(function() { }); という記述は、ページ読み込み時にjQuery の命令を実⾏せよという意味• 内部に jQuery コードを記述する

© MITSUHASHI Daisuke 11

$(function(){$("h1").fadeOut(5000);

});

講義スライド

Page 12: 情報処理技法 (マルチメディアと表現)Imhashi/Web13.pdfjQuery のファイルを 外部ファイルにするには •script要素の表記を、テキストファイルで保存する

jQuery のファイルを外部ファイルにするには• script要素の表記を、テキストファイルで保存する• 拡張⼦は .js• head要素内に以下の表記を追加する• 以下は同じフォルダ内にある script.js を参照している場合の記述• jQuery 本体を先に読み込ませる

© MITSUHASHI Daisuke 12

<script src="./jquery-3.4.1.min.js"></script><script src="./script.js"></script>

Page 13: 情報処理技法 (マルチメディアと表現)Imhashi/Web13.pdfjQuery のファイルを 外部ファイルにするには •script要素の表記を、テキストファイルで保存する

$(function(){$("h1").fadeOut(5000);});

jQueryの記述法

• セレクタ部分には処理を加えたい要素名(タグ名、クラスセレクタ、IDセレクタ)• メソッドはセレクタに対する処理• パラメータは処理に関わる値• この場合は5000ミリ秒(5秒)かけてフェードアウト

© MITSUHASHI Daisuke 13

セレクタ メソッド パラメータ

講義スライド

Page 14: 情報処理技法 (マルチメディアと表現)Imhashi/Web13.pdfjQuery のファイルを 外部ファイルにするには •script要素の表記を、テキストファイルで保存する

セレクタの書き⽅

• セレクタはタグの要素名の他に、ID セレクタ、クラスセレクタ、擬似クラスなども⽤いることができる

© MITSUHASHI Daisuke 14

h1要素のクラス名 class1

ID名が id1

nav 要素の中の a 要素

li 要素の最初の⼦要素

$("h1.class1").method(parameter);

$("#id1").method(parameter);

$("nav a").method(parameter);

$("li:first-child").method(parameter);

講義スライド

Page 15: 情報処理技法 (マルチメディアと表現)Imhashi/Web13.pdfjQuery のファイルを 外部ファイルにするには •script要素の表記を、テキストファイルで保存する

javascript の関数

• 関数とは、命令のセットのこと• javascript では以下のように定義する

© MITSUHASHI Daisuke 15

• ⼀度定義すると、関数名(パラメータ)という表記で呼び出すことができる• jQuery は関数の1つと考えるとよい• jQuery関数は jQuery( ) または $( )で呼び出す

function 関数名(パラメータ1,パラメータ2…){命令1;命令2;…

}

Page 16: 情報処理技法 (マルチメディアと表現)Imhashi/Web13.pdfjQuery のファイルを 外部ファイルにするには •script要素の表記を、テキストファイルで保存する

CSSの処理

• メソッドに css と記述すれば、CSS に処理をすることもできる。• ただし、記述法は同じではない

© MITSUHASHI Daisuke 16

JavaScriptでは、CamelCase記法を⽤いるので注意。CamelCaseとは、単語の切れ⽬を⼤⽂字にしてスペースを除いたもの。最初の⼀⽂字は⼩⽂字。

background-color ではなくbackgroundColortext-indent ではなくtextIndent

$(function(){$("h1").css({color:"#ff0000",backgroundColor:"#ffff00"});

});

Page 17: 情報処理技法 (マルチメディアと表現)Imhashi/Web13.pdfjQuery のファイルを 外部ファイルにするには •script要素の表記を、テキストファイルで保存する

テキストの変更

• text メソッドはテキスト要素を置換する

© MITSUHASHI Daisuke 17

$(function(){$("h1").text("Hello,World!");});

講義スライド

Page 18: 情報処理技法 (マルチメディアと表現)Imhashi/Web13.pdfjQuery のファイルを 外部ファイルにするには •script要素の表記を、テキストファイルで保存する

メソッドチェーン

• 連続した処理は「.(ドット)」でつなぐことができる• 下の例では⼀度フェードアウトしてから、再度フェードインす

© MITSUHASHI Daisuke 18

$(function(){$("h1").fadeOut(5000).fadeIn(5000);

});

講義スライド

Page 19: 情報処理技法 (マルチメディアと表現)Imhashi/Web13.pdfjQuery のファイルを 外部ファイルにするには •script要素の表記を、テキストファイルで保存する

イベント

• イベントの設定によって、処理が開始されるタイミングを指定することができる• クリックした時 .click()• カーソルがのった時、外れた時 .hover()

• イベントは他にもあるが講義では扱わない• jQuery サイトにドキュメントあり• jQuery API Documentation

http://api.jquery.com/category/events/

© MITSUHASHI Daisuke 19

Page 20: 情報処理技法 (マルチメディアと表現)Imhashi/Web13.pdfjQuery のファイルを 外部ファイルにするには •script要素の表記を、テキストファイルで保存する

click イベント

• h1要素をクリックしたときに、テキストが "Hi, I'm H1!" に変わる• .click(function(){

クリックされた時の処理});

© MITSUHASHI Daisuke 20

イベント対象と同じセレクタを処理するときは、this と記述する

$(function(){$("h1").click(function() {

$(this).text("Hi,I am h1 element!");});

});

Page 21: 情報処理技法 (マルチメディアと表現)Imhashi/Web13.pdfjQuery のファイルを 外部ファイルにするには •script要素の表記を、テキストファイルで保存する

$(function(){$("h1").click(function() {

$("#tbox").css({backgroundColor:"#ffff00"});

});});

click イベント

© MITSUHASHI Daisuke 21

イベント対象と異なるセレクタに影響をあたえることもできる

<h1>jQueryの練習</h1><div id="tbox">Target box</div>

Page 22: 情報処理技法 (マルチメディアと表現)Imhashi/Web13.pdfjQuery のファイルを 外部ファイルにするには •script要素の表記を、テキストファイルで保存する

$(function(){$("h1").hover(

function() {$(this).text("Hello,World!");},function() {$(this).text("Bye,World!");}

);});

hoverイベント

• hoverイベントでマウスを感知した処理を⾏う• .hover(

function(){マウスが乗った時の処理},function(){マウスが外れた時の処理});

© MITSUHASHI Daisuke 22

マウスが乗ると Hello,World! と表⽰される

マウスがはずれるとBye,World! と表⽰される

Page 23: 情報処理技法 (マルチメディアと表現)Imhashi/Web13.pdfjQuery のファイルを 外部ファイルにするには •script要素の表記を、テキストファイルで保存する

jQuery⽇本語リファレンス

© MITSUHASHI Daisuke 23

jQuery⽇本語リファレンスhttp://semooh.jp/jquery/

Page 24: 情報処理技法 (マルチメディアと表現)Imhashi/Web13.pdfjQuery のファイルを 外部ファイルにするには •script要素の表記を、テキストファイルで保存する

jQuery 実装例アコーディオン UI

© MITSUHASHI Daisuke 24

Page 25: 情報処理技法 (マルチメディアと表現)Imhashi/Web13.pdfjQuery のファイルを 外部ファイルにするには •script要素の表記を、テキストファイルで保存する

アコーディオン UI

• アコーディオン UI とは、メニューをクリックすることで内包される下位要素を表⽰する UI のこと

© MITSUHASHI Daisuke 25

Page 26: 情報処理技法 (マルチメディアと表現)Imhashi/Web13.pdfjQuery のファイルを 外部ファイルにするには •script要素の表記を、テキストファイルで保存する

HTML:メニューの作成

© MITSUHASHI Daisuke 26

<dl><dt>情報デザイン</dt><dd>

<ul><li>発想法</li><li>ユーザビリティデザイン</li><li>アクセシビリティデザイン</li>

</ul></dd>

<dt>HTML5</dt><dd>

<ul><li>HTMLの概要</li><li>タグの書き方</li>

</ul></dd>

</dl>

Page 27: 情報処理技法 (マルチメディアと表現)Imhashi/Web13.pdfjQuery のファイルを 外部ファイルにするには •script要素の表記を、テキストファイルで保存する

CSS:メニューのデザイン

© MITSUHASHI Daisuke 27

500px

dl{width:500px;

}dt{

text-indent:1em;background-color:#e54c10;color:#ffffff;

}dd{

text-indent:3em;background-color:#ffdea1;

}dd ul li{

border-bottom-width:1px;border-bottom-style:solid;border-bottom-color:#403f33;

}

Page 28: 情報処理技法 (マルチメディアと表現)Imhashi/Web13.pdfjQuery のファイルを 外部ファイルにするには •script要素の表記を、テキストファイルで保存する

$(function(){$("dd:not(:first)").css("display"."none");$("dl dt").click(function(){

if($("+dd",this).css("display")=="none"){$("dd").slideUp("slow");$("+dd",this).slideDown("slow");}

});});

アコーディオンUI

© MITSUHASHI Daisuke 28

<dd> 要素の中で、1番最初のもの以外の display プロパティを none (⾮表⽰)に設定する

<dl> 要素内の<dt>要素をクリックした時に…

隣接する<dd>要素の display プロパティが none ならば…

いま開いている<dd>要素をゆっくり閉じて…

隣接する<dd>要素をゆっくり開ける

Page 29: 情報処理技法 (マルチメディアと表現)Imhashi/Web13.pdfjQuery のファイルを 外部ファイルにするには •script要素の表記を、テキストファイルで保存する

jQuery UI

© D.Mitsuhashi 29

Page 30: 情報処理技法 (マルチメディアと表現)Imhashi/Web13.pdfjQuery のファイルを 外部ファイルにするには •script要素の表記を、テキストファイルで保存する

jQuery UI

• jQuery の公式プラグイン• jQuery にインタラクティブなユーザーインターフェースを追加する• 予め⽤意された GUI コンポーネントであるウィジェットを利⽤するこ

とで簡単にリッチなインターフェースを追加可能• テーマを⽤いて、ウィジェットの外観を変更可能

© D.Mitsuhashi 30

Page 31: 情報処理技法 (マルチメディアと表現)Imhashi/Web13.pdfjQuery のファイルを 外部ファイルにするには •script要素の表記を、テキストファイルで保存する

jQuery UI のセットアップ

• jQuery UI を利⽤するには、jQuery の JavaScriptファイルの他に、jQuery UI の JavaScript ファイル、およびテーマに利⽤する CSS ファイルが必要• CSS は ThemeRoller でカスタマイズ可能

© D.Mitsuhashi 31

jQuery UI http://jqueryui.com/

Page 32: 情報処理技法 (マルチメディアと表現)Imhashi/Web13.pdfjQuery のファイルを 外部ファイルにするには •script要素の表記を、テキストファイルで保存する

jQuery UI のセットアップ

• jQuery UIページよりStable 版をダウンロードする• ダウンロードしたファイルを展開する• jQuery 本体(external フォルダに⼊っている)と、jquery-

ui.js および jquery-ui.css は最低限必要• HTML 書類と同じディレクトリに配置する• HTML 書類の<head> 内に以下のように必要書類を読み込む記

述を追記する

© D.Mitsuhashi 32

<script src="./external/jquery/jquery.js"></script><script src="./external/jquery/jquery-ui.min.js"></script><link rel="stylesheet" href="./jquery-ui.min.css" />

Page 33: 情報処理技法 (マルチメディアと表現)Imhashi/Web13.pdfjQuery のファイルを 外部ファイルにするには •script要素の表記を、テキストファイルで保存する

jQuery UI : interaction

© D.Mitsuhashi 33

Page 34: 情報処理技法 (マルチメディアと表現)Imhashi/Web13.pdfjQuery のファイルを 外部ファイルにするには •script要素の表記を、テキストファイルで保存する

<div id="draggableBox">ドラッグ可能</div>

$(function(){$("#draggableBox").draggable();

});

#draggableBox{width:200px;height:200px;background-color:#ffcccc;

}

draggable

• 要素をドラッグ可能にする

© D.Mitsuhashi 34

HTML

jQuery

CSS

Page 35: 情報処理技法 (マルチメディアと表現)Imhashi/Web13.pdfjQuery のファイルを 外部ファイルにするには •script要素の表記を、テキストファイルで保存する

draggable のオプション

• opacity はドラッグ時の透明度を指定するオプション• 0〜1の間で透明度を指定する

© D.Mitsuhashi 35

$(function(){$("#draggableBox").draggable({opacity:0.5});

});

Page 36: 情報処理技法 (マルチメディアと表現)Imhashi/Web13.pdfjQuery のファイルを 外部ファイルにするには •script要素の表記を、テキストファイルで保存する

複数のオプション

• オプションが複数ある場合はカンマ" , " で区切る• grid はドラッグ中の吸着をピクセル単位で指定するオプション

(値はX軸、Y軸の順)

© D.Mitsuhashi 36

$(function(){$("#draggableBox").draggable({opacity:0.5,grid:[100,100]});

});

Page 37: 情報処理技法 (マルチメディアと表現)Imhashi/Web13.pdfjQuery のファイルを 外部ファイルにするには •script要素の表記を、テキストファイルで保存する

resizable

• 要素のサイズを変更可能にする

© D.Mitsuhashi 37

<div id="resizableBox">リサイズ可能</div> HTML

$(function(){$("#resizableBox").resizable();

});jQuery

#resizableBox{width:200px;height:200px;background-color:#ccffcc;

}

CSS

Page 38: 情報処理技法 (マルチメディアと表現)Imhashi/Web13.pdfjQuery のファイルを 外部ファイルにするには •script要素の表記を、テキストファイルで保存する

resizable のオプション

• 幅の最⼤値 maxWidth(値は整数値)• 幅の最⼩値 minWidth(値は整数値)• ⾼さの最⼤値 maxHeight(値は整数値)• ⾼さの最⼩値 minHeight(値は整数値)• サイズ変更時の残像 ghost(値は true か false)• サイズ変更時のアニメーション animate(値は true か

false)

© D.Mitsuhashi 38

Page 39: 情報処理技法 (マルチメディアと表現)Imhashi/Web13.pdfjQuery のファイルを 外部ファイルにするには •script要素の表記を、テキストファイルで保存する

<ul class="sortableList"><li>ITEM1</li><li>ITEM2</li><li>ITEM3</li><li>ITEM4</li><li>ITEM5</li>

</ul>

sortable

• 要素を並べ替え可能にする

© D.Mitsuhashi 39

HTML $(function(){$(".sortableBox").sortable();

});

jQuery

.sortableList(2n){background-color:#ffffcc;

}.sortableList(2n+1){

background-color:#ffccff;}

CSS

Page 40: 情報処理技法 (マルチメディアと表現)Imhashi/Web13.pdfjQuery のファイルを 外部ファイルにするには •script要素の表記を、テキストファイルで保存する

jQuery UI : widgets

© D.Mitsuhashi 40

Page 41: 情報処理技法 (マルチメディアと表現)Imhashi/Web13.pdfjQuery のファイルを 外部ファイルにするには •script要素の表記を、テキストファイルで保存する

ウィジェット

• jQuery UI では、あらかじめよく利⽤するインターフェースが⽤意されており、これをウィジェットとよぶ• ウィジェットのデザインは

ThemeRoller で設定することができる

© D.Mitsuhashi 41

Page 42: 情報処理技法 (マルチメディアと表現)Imhashi/Web13.pdfjQuery のファイルを 外部ファイルにするには •script要素の表記を、テキストファイルで保存する

datepicker

• カレンダーを表⽰する

© D.Mitsuhashi 42

<div id="cal">Datepicker</div>

HTML

$(function(){$("#cal").datepicker();

});

jQuery

Page 43: 情報処理技法 (マルチメディアと表現)Imhashi/Web13.pdfjQuery のファイルを 外部ファイルにするには •script要素の表記を、テキストファイルで保存する

tabs

• タブによる表⽰の切替

© D.Mitsuhashi 43

<div id="tabs"><ul>

<li><a href="#tab1">tab1</a></li><li><a href="#tab2">tab2</a></li><li><a href="#tab3">tab3</a></li>

</ul><div id="tab1">tab1のテキスト</div><div id="tab2">tab2のテキスト</div><div id="tab3">tab3のテキスト</div>

</div>

$(function(){$("#tabs").tabs();

});

HTML

jQuery

Page 44: 情報処理技法 (マルチメディアと表現)Imhashi/Web13.pdfjQuery のファイルを 外部ファイルにするには •script要素の表記を、テキストファイルで保存する

accordion

• アコーディオン UI

© D.Mitsuhashi 44

$(function(){$("#accordion").accordion();

});

<div id="accordion"><h1>menu1</h1>

<div>menu1 panel</div><h1>menu2</h1>

<div>menu2 panel</div><h1>menu3</h1>

<div>menu3 panel</div></div>

HTML

jQuery

Page 45: 情報処理技法 (マルチメディアと表現)Imhashi/Web13.pdfjQuery のファイルを 外部ファイルにするには •script要素の表記を、テキストファイルで保存する

jQuery Plugin

© MITSUHASHI Daisuke 45

講義スライド

Page 46: 情報処理技法 (マルチメディアと表現)Imhashi/Web13.pdfjQuery のファイルを 外部ファイルにするには •script要素の表記を、テキストファイルで保存する

jQuery Plugin

• jQuery を⽤いてあらかじめプログラムされたライブラリのことを jQuery Plugin とよぶ

•Web上には多くの jQuery Plugin が公開されており、これらを利⽤することで簡単に動的なサイトを作成することができる

© MITSUHASHI Daisuke 46

講義スライド

Page 47: 情報処理技法 (マルチメディアと表現)Imhashi/Web13.pdfjQuery のファイルを 外部ファイルにするには •script要素の表記を、テキストファイルで保存する

ライセンス

• jQuery Plugin の多くは無償公開されているが、どのような条件で利⽤可能かライセンス表記をよく確認すること

• Creative Commons License• 表⽰(BY) 作品のクレジットが必要• ⾮営利(NC) 営利⽬的での利⽤をしない• 改変禁⽌(ND) 元の作品を改変しない• 継承(SA) 元の作品と同じ組み合わせのライセンスで公開

• MIT License, BSD License• 再配布時に著作権表⽰を残す必要がある• 無保証

• GNU General Public License(GPL)• 上記の MIT, BSD の内容に付け加えて、再配布する場合にも GPL をつける必要がある

© MITSUHASHI Daisuke 47

講義スライド

Page 48: 情報処理技法 (マルチメディアと表現)Imhashi/Web13.pdfjQuery のファイルを 外部ファイルにするには •script要素の表記を、テキストファイルで保存する

jQuery 本体の有無

• Plugin によっては、jQuery 本体を同梱した状態で配布している• プラグインに jQuery 本体が含まれているかどうかを確認する

こと• 2重に読み込ませないこと• 通常、ファイル名は jquery.js または jquery.min.js のいずれか

© MITSUHASHI Daisuke 48

講義スライド

Page 49: 情報処理技法 (マルチメディアと表現)Imhashi/Web13.pdfjQuery のファイルを 外部ファイルにするには •script要素の表記を、テキストファイルで保存する

jQuery Plugin 読み込みの順序

• HTML 書類で jQuery Plugin を読みこませるときには、jQuery 本体を先に読み込ませ、次に Plugin を読み込ませなければ機能しない• Plugin を読みこませる場所は、通常 <head> 内だが、<body> 内の場

合もある• また、必要な CSS 書類も同梱されている場合もあるので、併

せて読み込ませること• Plugin によっては画像ファイルも必要

© MITSUHASHI Daisuke 49

記述例

<script src="./dist/js/jquery.min.js"></script><script src="./dist/js/jquery.plugin.js"></script><link rel="stylesheet" href="./dist/css/plugin.css" />

講義スライド

Page 50: 情報処理技法 (マルチメディアと表現)Imhashi/Web13.pdfjQuery のファイルを 外部ファイルにするには •script要素の表記を、テキストファイルで保存する

jQuery Plugin 導⼊例

© MITSUHASHI Daisuke 50

講義スライド

Page 51: 情報処理技法 (マルチメディアと表現)Imhashi/Web13.pdfjQuery のファイルを 外部ファイルにするには •script要素の表記を、テキストファイルで保存する

⽂字を 3Dで表現する: CSS 3D Text Plugin

• CSS 3D Text Plugin • Craig Buckler• ライセンス表記はないが、制

限なしに利⽤可能と記述がある• http://blogs.sitepointstatic.co

m/examples/tech/css3-3d-text/text3d.html

• 上記のサイトより、jquery.text3d.js をダウンロード(リンク先を保存)

© MITSUHASHI Daisuke 51

Page 52: 情報処理技法 (マルチメディアと表現)Imhashi/Web13.pdfjQuery のファイルを 外部ファイルにするには •script要素の表記を、テキストファイルで保存する

jquery.text3d.jsを読み込む

• jquery.text3d.js を同じフォルダに⼊れて、<head>タグ内で以下の記述を追加する

© MITSUHASHI Daisuke 52

<script src="./jquery-3.4.1.min.js"></script><script src="./jquery.text3d.js"></script>

Page 53: 情報処理技法 (マルチメディアと表現)Imhashi/Web13.pdfjQuery のファイルを 外部ファイルにするには •script要素の表記を、テキストファイルで保存する

jquery.text.3d.js の利⽤法

• <h1> 要素を変化させるには、$("h1").text3d( );とし、以下のように⽤意されたプロパティと値を設定する

© MITSUHASHI Daisuke 53

depth ⽂字のでっぱり具合angle でっぱりの⾓度color でっぱり部の⾊lighten でっぱりのグラデーション(-0.3 の場合は始めから終りまでに3割暗くなる)shadowDepth 影の広がり具合shadowAngle 影の⾓度shadowOpacity 影の透明度(0から1まで)

$(function(){$("h1").text3d({depth:10,angle:45,color:"#ccccff",lighten:-0.3,shadowDepth:30,shadowAngle:45,shadowOpacity:0.2,});

});

Page 54: 情報処理技法 (マルチメディアと表現)Imhashi/Web13.pdfjQuery のファイルを 外部ファイルにするには •script要素の表記を、テキストファイルで保存する

$(function(){$("h1").text3d({

depth:10,angle:45});

$("h1").hover(function() {$(this).text3d({

depth:3});

},function() {$(this).text3d({

depth:8});

});});

hover イベントとの組み合わせ

© MITSUHASHI Daisuke 54

通常時

マウスが乗った時

マウスが離れた時

Page 55: 情報処理技法 (マルチメディアと表現)Imhashi/Web13.pdfjQuery のファイルを 外部ファイルにするには •script要素の表記を、テキストファイルで保存する

背景画像を伸張:backstretch

• backstretch• Scott Robin• MIT LICENCE• http://www.jquery-

backstretch.com/

• 背景画像を隙間なく最⼤表⽰に伸張する

© MITSUHASHI Daisuke 55

講義スライド

Page 56: 情報処理技法 (マルチメディアと表現)Imhashi/Web13.pdfjQuery のファイルを 外部ファイルにするには •script要素の表記を、テキストファイルで保存する

backstretch の利⽤法

• jquery.backstretch.min.js を読み込む• body 要素に対して backstretch メソッドを⽤いる• パラメータは画像ファイルのパス

© MITSUHASHI Daisuke 56

<script src="./jquery-3.4.1.min.js"></script><script src="./jquery.backstretch.min.js"></script>

$(function(){$("body").backstretch("./images/background.jpg");

});

講義スライド

Page 57: 情報処理技法 (マルチメディアと表現)Imhashi/Web13.pdfjQuery のファイルを 外部ファイルにするには •script要素の表記を、テキストファイルで保存する

ギャラリーを作成する: Lightbox

• Lightbox• Lokesh Dhakar• MIT LICENSE• http://www.lokeshdhakar.co

m/projects/lightbox2/

• 上記のサイトよりLightbox plugin をダウンロードする

© MITSUHASHI Daisuke 57

講義スライド

Page 58: 情報処理技法 (マルチメディアと表現)Imhashi/Web13.pdfjQuery のファイルを 外部ファイルにするには •script要素の表記を、テキストファイルで保存する

lightbox.min.js を読み込む

• 右クリックして「送る」→「ここに展開」• dist フォルダに内包されている css,img,js のフォルダをそのま

まの状態で利⽤する• 同じフォルダ内の HTML に以下の記述を追加する• lightbox-plus-jquery.min.js には既に jquery 本体が内包されているの

で、jquery を⽤意する必要はない• 既に jQuery 本体を読み込んでいる場合は、lightbox.min.js を利⽤す

© MITSUHASHI Daisuke 58

以下はbody 要素の末尾に記述する

<link rel="stylesheet" href="./dist/css/lightbox.css" />

<script src="./dist/js/lightbox-plus-jquery.min.js"></script>

講義スライド

Page 59: 情報処理技法 (マルチメディアと表現)Imhashi/Web13.pdfjQuery のファイルを 外部ファイルにするには •script要素の表記を、テキストファイルで保存する

Lightbox の利⽤法

• ⼩さめの画像(サムネイル画像)に⼤きめの画像のリンクをはる• a要素の属性として data-lightbox を⽤意する• 値は画像の名前、複数ある場合には同じ名前を⽤いる(アルファベッ

トで)• 画像にキャプションを付けたい場合には data-title 属性にキャ

プションを値として⼊⼒する

© MITSUHASHI Daisuke 59

<a href="./pic1.jpg" data-lightbox="photos" data-title="廃墟"><img src="./pic1t.jpg" alt="pic1" width="100" height="100" />

</a>

⼤きめの画像 サムネイル画像

講義スライド

Page 60: 情報処理技法 (マルチメディアと表現)Imhashi/Web13.pdfjQuery のファイルを 外部ファイルにするには •script要素の表記を、テキストファイルで保存する

jQuery lightbox 設置例

• クリックすると拡⼤する

© MITSUHASHI Daisuke 60

講義スライド

Page 61: 情報処理技法 (マルチメディアと表現)Imhashi/Web13.pdfjQuery のファイルを 外部ファイルにするには •script要素の表記を、テキストファイルで保存する

動的に背景画像を切り替える:VEGAS

• VEGAS2• Jay Salvat• MIT LICENSE• http://vegas.jaysalvat.com/

• VEGAS 2.4.4 をダウンロードする

© MITSUHASHI Daisuke 61

講義スライド

Page 62: 情報処理技法 (マルチメディアと表現)Imhashi/Web13.pdfjQuery のファイルを 外部ファイルにするには •script要素の表記を、テキストファイルで保存する

VEGAS を読み込む

• VEGAS には jQuery 本体は含まれていないので、jQuery 本体を読み込む• その後、VEGAS の本体にあたる vegas.min.js と、CSS ファイ

ルの vegas.min.css を読み込む

© MITSUHASHI Daisuke 62

<script src="./jquery-3.4.1.min.js"></script><script src="./vegas.min.js"></script><link rel="stylesheet" href="./vegas.min.css" />

講義スライド

Page 63: 情報処理技法 (マルチメディアと表現)Imhashi/Web13.pdfjQuery のファイルを 外部ファイルにするには •script要素の表記を、テキストファイルで保存する

画像ファイルの読み込み

• body 要素に対して vegas メソッドを⽤いる• あらかじめ⽤意していた背景画像の参照先を slides 内で表記

する• animation や transition などのエフェクトも併記する

© MITSUHASHI Daisuke 63

$(function(){$("body").vegas({

slides:[{src:"./images/tanuki.jpg"},{src:"./images/sakura.jpg"},{src:"./images/torii.jpg"},{src:"./images/kabocha.jpg"},

],animation:"kenburns"});

});

講義スライド

Page 64: 情報処理技法 (マルチメディアと表現)Imhashi/Web13.pdfjQuery のファイルを 外部ファイルにするには •script要素の表記を、テキストファイルで保存する

カルーセルメニュー:Slick

• Slick• Ken Wheeler• MITライセンス• http://kenwheeler.github.io/slick

• ポインタ操作で画像が切り替わるメニュー

© MITSUHASHI Daisuke 64

Page 65: 情報処理技法 (マルチメディアと表現)Imhashi/Web13.pdfjQuery のファイルを 外部ファイルにするには •script要素の表記を、テキストファイルで保存する

slick.min.js を読み込む

• 右クリックして「送る」→「ここに展開」• 内包されている slick フォルダをそのままの状態で利⽤する• 同じフォルダ内の HTML に以下の記述を追加する• slick には jQuery本体は含まれていないので、別途⽤意して読み込ま

せる

© MITSUHASHI Daisuke 65

<link rel="stylesheet" href="./slick/slick.css" /><link rel="stylesheet" href="./slick/slick-theme.css" /><script src="./jquery-3.4.1.min.js"></script><script src="./slick/slick.min.js"></script>

Page 66: 情報処理技法 (マルチメディアと表現)Imhashi/Web13.pdfjQuery のファイルを 外部ファイルにするには •script要素の表記を、テキストファイルで保存する

Slick の利⽤法

• ブロック要素に内包された連続するブロックを⽤意する• この例では ul 要素に内包された li 要素

• 指定したブロック要素に対して以下のように記述すればよい

© MITSUHASHI Daisuke 66

<ul class="carousel"><li><a><img src="./sampleImage1.jpg" alt="1"></a></li><li><a><img src="./sampleImage2.jpg" alt="2"></a></li><li><a><img src="./sampleImage3.jpg" alt="3"></a></li><li><a><img src="./sampleImage4.jpg" alt="4"></a></li>

</ul>

$(function(){$(”carousel").slick();

});

Page 67: 情報処理技法 (マルチメディアと表現)Imhashi/Web13.pdfjQuery のファイルを 外部ファイルにするには •script要素の表記を、テキストファイルで保存する

slickのオプション

• 有効にしたい機能について true とすれば有効に、false とすれば無効になる

• autoplay ⾃動再⽣• dots 画⾯下の点ナビゲーションの表⽰• accessibility 画像の⾼さが違う時に⾃動調節する• infinite 画像が円環的に連続して表⽰される

• より詳細なオプションについては配布サイトか、以下のブログ記事を参考にするとよい

© MITSUHASHI Daisuke 67

どこよりも詳しい万能スライダーjQueryプラグインslick.jsの使い⽅(IT hat)http://ithat.me/2016/10/17/how-to-use-slick-jquery-plugin