このサイト内でよく使われているjQueryの言葉の意味や使い方の事例をまとめました。
記載されているもの以外にも指定方法はたくさんありますので調べてみてくださいね!
クラス名があるかどうかの判定・追加・削除
■ hasClass・・・クラスの存在有無を調べる
(例)
if($('li').hasClass('close')){//liにクラス名closeがあれば
$('li').removeClass('close');//liのクラス名を除去する
}
■ addClass・・・指定した要素に、クラスを追加する。
(例)
$(".openbtn").click(function () {//openbtnというクラス名をクリックしたら
$(this).addClass("active");//openbtnにactiveクラスを追加する
});
■ removeClass・・・指定した要素から、クラスを削除する。
(例)
$(".navigation").click(function () {//navigationというクラス名をクリックしたら
$(".bgnavi").removeClass("active");//bgnaviクラスについているactiveクラスを削除
});
■ toggleClass・・・指定したクラスが要素に無ければ追加し、あれば削除する。
(例)
$(".openbtn").click(function () {//openbtnというクラス名をクリックしたら
$(this).toggleClass("active");//openbtnにactiveクラスがついていなかったら追加し、ついていたら削除
});
要素を取得する・見つける
■ parent・・・指定した要素の親要素を取得する
(例)
$('.accordion').parent().addClass('active');//.accordionの親要素を取得してactiveクラスを追加する
■ children・・・指定した要素の子要素を取得する
(例)
$('.accordion').children().addClass('active');//.accordionの子要素を取得してactiveクラスを追加する
■ find・・・指定した子要素から条件に合致するものを見つける
(例)
$(".forcus-btn").click(function() {//forcus-btnをクリックしたら
$("table").find(".forcus").css("backgroundColor", "#ccc");//tableの中にある.forcusクラスがついている要素の背景を灰色にする
});
要素を動かす・変化を加える
■ fadeIn・・・時間をかけて表示
(例)
$('.article-list').fadeIn(900);//.article-listが0.9秒かけてフェードイン
■ fadeOut・・・時間をかけて非表示
(例)
$("#splash-logo").fadeOut(1200);//#splash-logoを1.2秒でフェードアウト
■ show・・・表示
(例)
$('.btn').click(function(){
$('.article-block').show();//.btnをクリックしたら.article-blockを表示
});
■ hide・・・非表示
(例)
$('.btn').click(function(){
$('.article-block').hide();//.btnをクリックしたら.article-blockが非表示
});
■ slideDown・・・スライドしながら表示
(例)
$('.title').on('click', function() {//.titleをクリックしたら
$('.box').slideDown(500);//.boxを0.5秒かけてスライドしながら表示
});
■ slideUp・・・スライドしながら非表示
(例)
$('.title').on('click', function() {//.titleをクリックしたら
$('.box').slideUp(500);//.boxを0.5秒かけてスライドしながら非表示
});
■ slideToggle・・・スライドしながら表示・非表示
(例)
$('.title').on('click', function() {//.titleをクリックしたら
$('.box').slideToggle(500);//.boxが 0.5秒かけてスライド表示、非表示
});
■ animate・・・値を指定して、アニメーションを実行
(例)
$('#page-top').click(function () {// #page-topをクリックしたら
$('body,html').animate({//bodyとhtmlの
scrollTop: 0//スクロール位置を0にするアニメーションを実行
}, 500);//ページトップスクロールの速さは0.5秒。
return false;//リンク自体は無効化
});
■ css・・・jQueryを使いCSSを操作
(例)
$('.has-child').children('ul').css("display","block");//ulの子要素のうち.has-childがついたものをdisplay blockにする
値を設定・追加する
■ attr・・・要素に値を設定、または設定されている値を取得
(例)
$('#page-link a').click(function () {
var elmHash = $(this).attr('href'); //ページ内リンクのHTMLタグhrefから、リンクされているエリアidの値を取得
var pos = $(elmHash).offset().top; //idの上部の距離を取得
$('body,html').animate({scrollTop: pos}, 500); //取得した位置に0.5秒でスクロール
return false;//リンク自体は無効化
});
■ append・・・要素に値を追加
(例)
$("#box").append('<ul class="pagination">');//#boxの中身の最後に<ul class="pagination">を追加
■ appendTo・・・要素の中身を他の要素に追加
(例)
$(".navigation").appendTo(".wrapper") //navigationの内容全てをwrapperの中身の最後に追加
値を取得・設定する
■ $(window).width(); ・・・ウィンドウの横幅を取得して変数に格納する
(例)var winw = $(window).width();//ウィンドウの横幅を取得してwinwという変数に格納する
■ $(window).height(); ・・・ウィンドウの高さを取得して変数に格納する
(例)var winh = $(window).height();//ウィンドウの縦幅を取得してwinhという変数に格納する
■ outerHeight() ・・・border、paddingを含む要素の外部の高さを取得
※()にtrueを指定することで、高さにmarginを含めることもできる。
(例)var headerH = $("#header").outerHeight(true);//headerの高さを取得してheaderHという変数に格納する
■ scrollTop・・・スクロール位置を取得・設定
(例)var scroll = $(window).scrollTop(); //スクロール値を取得してscrollという変数に格納する
■ offset ・・・画面上に配置したHTML要素の表示位置を座標(上からの距離と左からの距離)で取得
(例)
var offsetTop = $('#area-2').offset().top;// #area-2のtopの位置を取得し、offsetTopという変数に格納する
var offsetLeft = $('#area-2').offset().left;// #area-2のleftの位置を取得し、offsetLeftという変数に格納する
■ Math.round(数値, 桁数) ・・・小数点以下を四捨五入
(例)var contentsTop = Math.round($('#area-3').offset().top); //#area-3までの高さを四捨五入した値で取得してcontentsTopという変数に格納する
■ text ・・・HTML要素内にあるテキスト情報を取得・追加・変更
(例)var counter = $(".count-up").text();//.count-upのテキスト情報をcounterという変数に格納する
■ prop・・・HTML要素内にあるid、class、nameといった属性や、フォームなどで使われるchecked、selectedなどのプロパティを取得
(例)$("input#join-btn").prop("disabled", true);//#join-btnがついたinputタグの操作を無効化する
■ split ・・・文字列の分割
(例)
var className = $(".sort-btn li").attr("class"); //.sort-btn liのクラス名を取得しclassNameという配列に格納する
className = className.split(' '); //クラス名を分割して配列にする
$("."+className[0]).addClass("active"); //上記で取得した配列の0番目にactiveクラスを付与
独自の名前をつけて定義する
■ var・・・変数を定義する
(例)
var headerH = $('#header').outerHeight(true); //ヘッダーの高さを取得
var scroll = $(window).scrollTop(); //スクロール値を取得
if (scroll >= headerH){//ヘッダーの高さ以上までスクロールしたら
$('.openbtn').addClass('fadeDown');//.openbtnにfadeDownというクラス名を付与して
}else{//それ以外は
$('.openbtn').removeClass('fadeDown');//fadeDownというクラス名を除く
}
■ function 独自の関数名() { }・・・動きを関数でまとめて定義する
(例)
//===== 1. 動きをfadeAnimeという名前の関数で定義する
function fadeAnime(){
$('.fadeInTrigger').each(function(){ //fadeInTriggerというクラス名が
var elemPos = $(this).offset().top-50;//要素より、50px上の
var scroll = $(window).scrollTop();
var windowHeight = $(window).height();
if (scroll >= elemPos - windowHeight){
$(this).addClass('fadeIn');// 画面内に入ったらfadeInというクラス名を追記
}else{
$(this).removeClass('fadeIn');// 画面外に出たらfadeInというクラス名を外す
}
});
}
//===== 2. 定義した名前をページが読み込まれた後・スクロールした後それぞれのきっかけに指定
// 画面をスクロールをしたら動く場合の記述
$(window).scroll(function (){
fadeAnime();/* アニメーション用の関数を呼ぶ*/
});// ここまで画面をスクロールをしたら動く場合の記述
// ページが読み込まれたらすぐに動く場合の記述
$(window).on('load', function(){
fadeAnime();/* アニメーション用の関数を呼ぶ*/
});// ここまでページが読み込まれたらすぐに動く場合の記述
処理の実行・中止
■ each・・・繰り返し処理を実行する
(例)
var headerH = $("#header").outerHeight(true);//headerの高さを取得
$(".scroll-point").each(function(i) {//.scroll-pointクラスがついたエリアからトップまでの距離を計算して設定
elemTop[i] =Math.round(parseInt($(this).offset().top-headerH));//追従するheader分の高さ(70px)を引き小数点を四捨五入
});
■ delay・・・遅延して実行
(例)
$("#splash-logo").delay(1500).fadeOut('slow');//#splash-logoを1.5秒遅延させてフェードアウト
■ return false;・・・処理を止める
(例)
$('#page-top').click(function () {// #page-topをクリックしたら
$('body,html').animate({//bodyとhtmlの
scrollTop: 0//スクロール位置を0にするアニメーションを実行
}, 500);//ページトップスクロールの速さは0.5秒。
return false;//リンク自体は無効化
});
条件分岐
■ if{
//条件を比較
}
else if{
//さらに条件を比較
}
else {
//それ以外
}・・・条件を比較し、処理を分岐する
(例)
if (scroll >= 100){//上から100pxスクロールしたら
$('#page-top').removeClass('DownMove');//#page-topについているDownMoveというクラス名を除く
$('#page-top').addClass('UpMove');//#page-topにUpMoveというクラス名を付与
}else{
if($('#page-top').hasClass('UpMove')){//すでに#page-topにUpMoveというクラス名がついていたら
$('#page-top').removeClass('UpMove');//UpMoveというクラス名を除き
$('#page-top').addClass('DownMove');//DownMoveというクラス名を#page-topに付与
}
}
■ var width = $(window).width();
if(width <= 768) {
//横幅が768px以下の場合
}else{
//横幅が768pxより大きい場合
} ・・・ウィンドウの横幅を取得し、画面サイズにあわせて処理を条件分岐する
(例)
function mediaQueriesWin(){
var width = $(window).width();
if(width <= 768) {
$(".navi").addClass('active');//横幅が768px以下の場合 naviというクラスに activeを追加
}else{
$(".navi").removeClass('active');//横幅が768pxより大きい場合 naviというクラスについている activeを削除
}
}
// 画面がリサイズされたら動かす
$(window).resize(function() {
mediaQueriesWin();/*関数を呼ぶ*/
});
// 画面が読み込まれたらすぐに動かす
$(window).on('load',function(){
mediaQueriesWin();/*関数を呼ぶ*/
});
動くきっかけを指定
■ load・・・画面が読み込まれた後に動く
※画像などがすべて読み込まれた後に動きます
(例)
$(window).on('load', function () {//画面が読み込まれたら
$('.tab li:first-of-type').addClass("active"); //.tabの最初のliに.activeを追加
})
■ resize・・・画面がリサイズされたら動く
(例)
function mediaQueriesWin(){
var width = $(window).width();
if(width <= 768) {
$(".navi").addClass('active');//横幅が768px以下の場合 naviというクラスに activeを追加
}else{
$(".navi").removeClass('active');//横幅が768px以上の場合 naviというクラスについている activeを削除
}
}
// 画面がリサイズされたら動かす
$(window).resize(function() {
mediaQueriesWin();/*関数を呼ぶ*/
});
■ scroll・・・画面がスクロールされたら動く
(例)
$(window).scroll(function () {//画面がスクロールされたら
//ふわっと現れるCSSを実行する
$('.fadeInTrigger').each(function(){ //fadeInTriggerというクラス名が
var elemPos = $(this).offset().top-50;//要素より、50px上の
var scroll = $(window).scrollTop();
var windowHeight = $(window).height();
if (scroll >= elemPos - windowHeight){
$(this).addClass('fadeIn');// 画面内に入ったらfadeInというクラス名を追記
}else{
$(this).removeClass('fadeIn');// 画面外に出たらfadeInというクラス名を外す
}
});
})
■ click・・・●●(要素やクラス/ID名)をクリックしたら動く
(例)
$('#page-top').click(function () {// #page-topをクリックしたら
$('body,html').animate({//bodyとhtmlの
scrollTop: 0//スクロール位置を0にするアニメーションを実行
}, 500);//ページトップスクロールの速さは0.5秒。
return false;//リンク自体は無効化
});
(例)
$('.title').on('click', function() {//.titleをクリックしたら
var findElm = $(this).next(".box");//.title直後の.boxを取得し
$(findElm).slideToggle();//アコーディオンの上下動作
if($(this).hasClass('close')){//タイトル要素にクラス名closeがあれば
$(this).removeClass('close');//クラス名を除去し
}else{//それ以外は
$(this).addClass('close');//クラス名closeを付与
}
});
■ animationend・・・●●(要素やクラス/ID名)のCSSアニメーションが終わった後に動く
(例)
$('.splashbg').on('animationend', function () {//splashbgのアニメーションが終了したら
//ふわっと現れるCSSを実行する
$('.fadeInTrigger').each(function(){ //fadeInTriggerというクラス名が
var elemPos = $(this).offset().top-50;//要素より、50px上の
var scroll = $(window).scrollTop();
var windowHeight = $(window).height();
if (scroll >= elemPos - windowHeight){
$(this).addClass('fadeIn');// 画面内に入ったらfadeInというクラス名を追記
}else{
$(this).removeClass('fadeIn');// 画面外に出たらfadeInというクラス名を外す
}
});
})
■ setTimeout・・・●秒遅れて動く
(例)
setTimeout(function () {
$("#splash-logo").fadeOut(1000);//#splash-logoが1秒かけてフェードアウトする動きを
}, 1000);//1秒後に動かす
※動くきっかけの指定は https://coco-factory.jp/ugokuweb/js02/ にまとめています
計算や比較をする
= ・・・値を変数に代入
+= ・・・値を加算して変数に代入
+ ・・・足し算
- ・・・引き算
/ ・・・割り算
* ・・・掛け算
++ ・・・変数の値を1つ増やす
> ・・・大なり
< ・・・小なり
>= ・・・以上
<= ・・・以下
== ・・・等しい
=== ・・・厳密に等しい
!= ・・・等しくない
!== ・・・厳密に等しくない
&& ・・・2つとも一致すればtrue
|| ・・・どちらかが一致すればtrue
! ・・・●●ではない(否定)
基礎から学びたい方へ
Webサイトの動きを実現する仕組みと
準備について基礎から学びたい方は
下記をまず読み、基本を理解してから
コピペしましょう
Webサイトの動きを
実現する仕組みと準備
書籍情報
紙面だからこそできるまとめ方でコードを説明し、
全体を俯瞰して調べることが出来る構成になっています。
もちろん、パーツのサンプルコードもzipでまとめてダウンロードできます。
購入をしてくださった方には特典がありますので是非チェックしてみてください!