jQuery備忘録
勉強しながらメモしたことをそのまま記述しています。
$('')
・jQueryってなにができるの?
・javaScriptのライブラリの一つ
・HTMLとCSSだけでは実現できなかった様々な動きを表現することができる。
たとえば?
アニメーションをつけられる
ユーザーの行動に応じた動きのあるデザインにできる
・基本形
$('セレクタ').メソッド(引数);
何を->セレクタ どうするか->メソッド
・要素を隠すには
$('h1').hide();
・テンプレ
$('hoge').hoge();
・jQueryを読み込むには
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js"></script>
・jsを読み込むには
以下をbodyタグの終了直前で読み込む
なぜならそのほうが素早く表示できるから
<script src="script.js"></script>
・フェードアウト
$('セレクタ').fadeOut();
$('セレクタ').fadeOut(1500); 1.5秒で消える
・スライドアップ(フェードアウト)
$('セレクタ').slideUp();
$('セレクタ').slideUp(1500); 1.5秒で足元からスラッと上まで消える
・classとid
classは複数個所で使えるのに対して、idは1か所にしか付けられない。
classはセレクタにドットを使う
idはセレクタに#を使う
jQueryは高速化のためになるべくidを使うのが好ましい。
・隠れた要素を表示する
$('セレクタ').show();
・フェードイン
$('セレクタ').fadeIn();
$('セレクタ').fadeIn('slow');
・スライドダウン(フェードイン)
$('セレクタ').slideDown();
$('セレクタ').slideDown('slow');
・イベント
$('セレクタ').イベント名(function(){
// イベント発生時に実行したい処理
});
・クリックイベント
$('セレクタ').click(function(){
// イベント発生時に実行したい処理
});
・CSSメソッド
$('セレクタ').css('プロパティ名','値');
$('セレクタ').css('プロパティ名');→これだと値を取得できる
・CSSメソッドで色を変える
$('セレクタ').css('color','red');
・HTMLの文字を変更する
$('セレクタ').text('こんばんは');
$('セレクタ').text();→これだと文字列を取得できる。
・HTMLを変更する
$('セレクタ').html('<span>こんばんは</span>');
$('セレクタ').html();→これだとHTML文で取得できる。
・this
呼び出し元のセレクタがthisに入ってる
このとき、クォーテーションはいらない
$(this).css('color','red');
・変数
var $div=$('div');
$div.css();
$div.html();
$div.fadeOut();
・メソッドチェーン
$('セレクタ').メソッド().メソッド()...のように書くことで、それぞれのメソッドが適用されます。
・findとchildrenの違い
どちらも子を取得するが、数に違いがある
$('#wrapper').find('a').css('color','red');
$(this).find('a').
子要素すべて
$('#wrapper').children('a').css('color','red');
子要素先頭1つ
childではないからな!!!
・hover
マウスが乗った時の処理と外したときの処理を書ける
$('セレクタ').hover(
function(){
// マウスを乗せたとき
},
function(){
// マウスを外したとき
}
);
・jQueryの型
$(document).ready(function(){
//jQueryを書く
});
↓長いので省略!
$(function(){
});
・モーダルとは
クリックなどのイベントで表示/非表示が切り替わるもの
・モーダルの表示
①最初はモーダルをCSSで非表示に
.login-modal-wrapper{
display: none;
}
②ログインボタンにclickを設定
$('#login-show').click(function(){
});
③clickイベントでモーダル表示
$('#login-show').click(function(){
$('#login-modal').fadeIn();
});
・新規登録モーダルの表示
①新規登録のボタンに共通のclass名を指定
②fadeInメソッドで新規登録のモーダルを表示
・モーダルを隠す
①閉じるボタンにclickイベントを設定
②fadeOutメソッドでモーダルを隠す
・hoverイベントの準備
①各言語に対して、lesson-hoverクラスを追加
②hoverイベントを設定
・addClass
javascript側で指定した要素にクラスを追加することができる
$('セレクタ').addClass('hoge');
クラス名の前にドットは不要
・removeClass
$('セレクタ').removeClass('hoge');
addClassと反対
・アコーディオン
押したら開くやつ
①答えの部分はCSSで非表示にする
②3つの質問部分には同一のclass名を付与
③それらのclickイベントを作成
・hasClass
そのクラスを持っているかを判定するときに使う
$('セレクタ').hasClass('open');
・jQueryオブジェクトの構造
$('li')とやったら、実は配列のようにポンポンポン入ってくる
・eqメソッド
eq番目の要素を取り出せる
$('セレクタ').eq(2).css(うんたら);
0オリジン
・index
$('セレクタ').index( $('.active') );
li要素における.active要素のインデックス番号を取得する
var index= $('li').index($(this));
選択したやつのインデックス番号を取得するのに便利!eqとの組み合わせ!
・nextとprev
1つ次の要素を取り出したり、1つ次の要素を取り出せる。
インデックス番号ではない点に注意!
・length
オブジェクトの数を取得できる
かっこはいらない
・attr
属性の値を取得・設定できる
$('').attr('属性','値');
$('').attr('属性');←値を取得できる
・val
$('セレクタ').val();
inputタグの入力値を取得する
textでもできちゃったりするけど絶対valを使うように!
※varと間違えやすいからまじで気をつけてな!
・submit
$('セレクタ').submit(function(){
// フォームの値を取得する
});
・入力が空
''
・文字列を連結するとき
javascriptで、+を使った
・animateメソッド
$('セレクタ').animate({
'プロパティ':'変更後の値'
},ミリ秒);
・scrollTop
一番上までスクロールする
$('html,body').scrollTop(0);
・scrollTop応用
一番上までなめらかスクロールする
$('html,body').animate({
'scrollTop': 0
}, 'slow');
・ナビゲーション
任意の箇所までスクロール
offset()だと表示位置を上と左で取得
offset().topだと上からの距離が取得できる
topはかっこ要らない!
残り43講座
この記事が気に入ったらサポートをしてみませんか?