クラス名があるかどうかの判定・追加・削除
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(){
$("table").find(".forcus").css("background-color", "#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(){
$('.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"); // .has-childがついた子要素のulのdisplayをblockにする
// 複数指定の場合
$('.has-child').children('ul').css({"display":"block" , "color":"#ccc"});
値を設定・追加する
attr:要素に値を設定する、または設定されている値を取得する
$('#page-link a').click(function(){
const elmHash = $(this).attr('href'); // ページ内リンクのHTMLタグhrefから、リンクされているエリアidの値を取得
const 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():ウインドウの横幅を取得する
const winw = $(window).width(); // ウインドウの横幅を取得してwinwという変数に格納する
$(window).height():ウインドウの縦幅を取得する
const winh = $(window).height(); // ウインドウの縦幅を取得してwinhという変数に格納する
outerHeight():border、paddingを含む要素の外側の高さを取得する
const headerH = $("#header").outerHeight(true); // headerの高さを取得してheaderHという変数に格納する
scrollTop:スクロール位置を取得・設定する
const scroll = $(window).scrollTop(); // スクロール値を取得してscrollという変数に格納する
offset():画面上に配置したHTML要素の表示位置を、座標(上からの距離と左からの距離)で取得する
const offsetTop = $('#area-2').offset().top; // #area-2のtopの位置を取得し、offsetTopという変数に格納する
const offsetLeft = $('#area-2').offset().left; // #area-2のleftの位置を取得し、offsetLeftという変数に格納する
Math.round(数値,桁数):小数点以下を四捨五入する
const contentsTop = Math.round($('#area-3').offset().top); // #area-3までの高さを四捨五入した値でcontentsTopという変数に格納する
text:HTML要素内にあるテキスト情報を取得・追加・変更する
const counter = $(".count-up").text(); // .count-upのテキスト情報をcounterという変数に格納する
prop:HTML要素内にあるid、class、nameといった属性や、フォームなどで使われるchecked、selectedなどのプロパティを取得する
$("input#join-btn").prop("disabled", true); // #join-btnがついたinputタグの操作を無効化する
split:文字列を分割する
const className = $(".sort-btn li").attr("class"); // .sort-btn liのクラス名を取得しclassNameという配列に格納する
className = className.split(' '); // クラス名を分割して配列にする
$("."+className[0]).addClass("active"); // 上記で取得した配列の0番目にactiveクラスを付与
独自の名前を付けて定義する
const:変数を定義する
const headerH = $('#header').outerHeight(true); // ヘッダーの高さを取得
const scroll = $(window).scrollTop(); // スクロール値を取得
if (scroll >= headerH){ // ヘッダーの高さ以上までスクロールしたら
$('.openbtn').addClass('fadeDown'); // .openbtnにfadeDownというクラス名を付与して
}else{ // それ以外は
$('.openbtn').removeClass('fadeDown'); // fadeDownというクラス名を除く
}
function 独自の関数名() { }:動きを関数でまとめて定義する
function fadeAnime(){
// 処理を記述
}
処理の実行・中止
each:繰り返し処理を実行する
const 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文:条件を比較し、処理を分岐する
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に付与
}
}
ウインドウの横幅を取得し、画面サイズにあわせて処理を条件分岐する
ウインドウの横幅を取得し、画面サイズに合わせて処理を条件分岐する際には、resizeとloadイベントをセットで使用する。
function mediaQueriesWin(){
const 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();
});
計算や比較をする
計算する
記号 | 意味 |
---|
= | 値を変数に代入 |
+= | 値を加算して変数に代入 |
+ | 足し算 |
– | 引き算 |
/ | 割り算 |
* | 掛け算 |
++ | 変数の値を1つ増やす |
値を比較する
記号 | 意味 |
---|
> | 大なり |
< | 小なり |
>= | 以上 |
<= | 以下 |
== | 等しい |
=== | 厳密に等しい |
!= | 等しくない |
!== | 厳密に等しくない |
&& | 2つとも一致すればtrue |
|| | どちらかが一致すればtrue |
! | ###ではない(否定) |