Javascript > jQuery

下位ページ

Content

参考サイト


読み込み時の参考サイト


ライブラリをWeb上で参照する
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>

実行タイミング

どっちも同じ
$().ready(function(){});

$(function(){});

classの追加、削除

$(selector).addClass('クラス名');
$(selector).removeClass('クラス名');
「あれば削除、なければ追加」もできる
$(selector).toggleClass("red");


非同期実行 deferred

理解不足だったところ

thenは「thenの中身は、resolveが入ったら実行される「コード」ではなく、登録する「関数」である。

return d.promise() で Promiseオブジェクトが返っている。そのPromiseオブジェクトに対して、doneやfailに「関数」を登録している。なので引数を取る関数を登録すると、関数登録ではなく、返り値が入っているだけの状態になっている。
func1().then(func2)
func1().then(func2(arg)) ← func2が引数の要る関数で、遅らせて実行させたかったので、こっちにしていた。

thenは新たなPromiseを返すが、一つ前のPromiseの「状態」を自動的に引き継ぐ。

func1().then(func2).then(func3)
func1で返したPromise が resolve になったら、func2 を実行して、そのまますぐにfunc3も実行。func2が非同期の関数を含んでいたら、結局func3に追い抜かれる(ことがある)。
http://techblog.yahoo.co.jp/programming/jquery-deferred/

jQueryのバージョンによって、引き継ぐPromiseオブジェクトが変更されている

1.8以前 func1().then(func2).then(func3) で、 func3 は func1 が返すPromiseオブジェクトの状態がresolveになると実行される。つまり、then(func2)のPromiseオブジェクトの状態はfunc1が返したPromiseオブジェクトの状態を引き継いでしまう。
1.8から?は then(func2)のPromiseオブジェクトの状態はfunc2のPromiseオブジェクトの状態を引き継ぐ。なので、こちらじゃないとthenで繋げない。
http://iti.hatenablog.jp/entry/2013/08/06/132937

$.when(func1,func2,func3,...)

resolveの到着を並列で待つ

html情報の書き換え

$(selector).text('...');

属性

属性の取得

$(selector).attr(name);

属性の判定

$(selector).prop(name);

属性の設定

$(selector).attr(key,value);

複数の同時設定
$(selector).attr({key1: "value1", key2: "value2", key3: "value3", ...});

要素が取得できたか


表示・非表示

hide

hide([speed[,callback]]) / show([speed[,callback]]) / toggle([speed, [callback]])
speedはミリ秒で指定。もしくは"slow","normal","fast"。
speedも指定しないと、アニメなし。
hide - jQuery日本語リファレンス
show - jQuery日本語リファレンス
toggle - jQuery日本語リファレンス
toggle - jQuery日本語リファレンス

slideUp / slideDown

下から上に消えていく。上から下に現れる。交互に切り替える。
slideUp([speed], [callback])
slideDown([speed], [callback])
slideToggle([speed], [callback])

スクロール

その要素にスクロールバーが設定されていることが前提。この前提を元に、スクロール位置を取得・設定する。

要素の、ドキュメント上の位置を取得する

.offset()
topとleftを取得するので、topの位置なら
.offset().top

スクロールできる要素の、現在のスクロール位置を取得・設定する

.scrollTop()
.scrollTop(value)
取得できないものでは、0が返る。
http://www.jquerystudy.info/reference/css/scrollTop.html

.animate()
  • properties 型:PlainObject
    • 最終的に変化させるCSSのキーと値のマップ値を指定します。

構文

集合の各要素に対して操作する

jQo.each(function(){...})
jQo.each(function(index){ (this) ...})
jQo.each(function(index,element){...})


1000以上のjQueryプラグインが探せるサイト「jQuery Cards」- lifehacker


動的に追加した要素に対して、cssを適用させる。リストの場合。jQuery-UI

cssを適用させる、というより、data-roleで設定しても、あとから追加した要素には「読み替え」が起こらないため、「もう一度読み替えを実行して!」と司令を出す必要がある。
$("#LIST").listview('refresh');
http://memonemu.blog.jp/archives/1015301709.html
refresh() - jQuery Mobile ← この書き方だと、refresh() メソッドが存在しているように見えるよね。

タグ:

+ タグ編集
  • タグ:

このサイトはreCAPTCHAによって保護されており、Googleの プライバシーポリシー利用規約 が適用されます。

最終更新:2019年05月04日 20:42