jQuery Web制作

【jQuery】hoverで別要素の値を変更する方法【サンプル付きで解説】

※ 当サイトではアフィリエイト広告を利用しています

hoverした要素と離れた要素の値を変更することって出来る?

もしhoverした要素の『子要素・兄弟要素・親要素』であればCSSで要素の値を変更することが可能ですが、それ以外の場合はjQueryを使った方法になります。

今回はその方法について解説していきます。

CSSを使って『子要素・兄弟要素・親要素』の値を変更する方法は以下の記事を参照下さい。

あわせて読みたい
【CSS】hoverで別要素の値を変更する方法【子要素・兄弟要素・親要素】
【CSS】hoverで別要素の値を変更する方法【子要素・兄弟要素・親要素】

続きを見る

 

コーディングの時給と作業効率を上げる!
2年間の実務で実際に使ったコードをまとめた『コーディング&WordPressメモまとめ集』をBrainで公開しています。
  • コピペで使えるWordPressの各テンプレート
  • 実務でよく使う見出し一覧
  • 実務でよく使うテキストのhoverアニメーション
  • 実務でよく使うボタン内の矢印9種類
  • Contact Form 7の色々・・・
などなど、他にもコピペで使えるコードがたくさん載せてあるので、時短=時給アップに繋がります。
さらに『コードのまとめ方が参考になった』というレビューも多数頂いているので、これを元に自分なりの"メモまとめ集"を作るという使い方も出来ます。
1,100部以上販売し、レビューは630件以上あるので、気になる方は以下のボタンからチェックしてみて下さい👇

1,100部突破🎉

商品ページはこちら!

2024年4月15日値上げ!

jQueryを使ってhoverで別要素の値を変更する方法

早速ですがこちらがデモになります。

See the Pen
Untitled
by junpei (@junpei-sugiyama)
on CodePen.

コードの解説をしていきますが、見やすくする為にポイントとなるものだけ書くので、全部見たい人は左上の『HTML・CSS』をクリックして下さい。

 

コード解説

コードはこちらです。

<div class="box01">
  <div class="btn js-box">この要素が変化</div>
</div>
<div class="box02"></div>
<div class="box03">
  <div class="btn js-btn">ボタンをhoverすると</div>
</div>

HTMLを見れば分かりますが、hoverする要素に対して変化する要素は『子要素・兄弟要素・親要素』のどれでもありません。

CSSはこちらです。

.btn {
  background-color: #1cb4d3;
  transition: background-color .4s, transform .4s, color .4s;
}
/* hoverした後の変化 */
.js-hover {
  background-color: #7fffd4;
  color: red;
  transform: scale(1.1, 1.1);
  transition: background-color .4s, transform .4s, color .4s;
}

hoverしたら3つのプロパティが変化するようにしています(『background-color』『color』『transform』)

注意点としてはtransitionで『all』と書くと予期せぬ箇所で変な挙動をすることがあるので、プロパティは1つずつ指定するのが好ましいです。

詳しくは以下の記事を参照下さい。

あわせて読みたい
【CSS】transitionにプロパティを複数指定する書き方
【CSS】transitionにプロパティを複数指定する書き方

続きを見る

そして.js-hoverですが、これはjQueryがhoverした時に指定した要素に付与するclassなので、HTMLには書いていません。

そしてjQueryはこちらになります。

$(function () {
  // hoverする要素のclass名
  $(".js-btn").hover(
    function () {
      // hoverした時の処理(classを付与)
      $(".js-box").addClass("js-hover");
    },
    function () {
      // hoverを外した時の処理(classを外す)
      $(".js-box").removeClass("js-hover");
    }
  );
});

jQueryがやっていることは簡単で、以下のようになります。

  1. js-btnというclassが付いている要素をhoverしたら
  2. js-boxというclassが付いている要素にjs-hoverというclassを付与
  3. js-btnというclassが付いている要素のhoverを外したら
  4. js-boxというclassが付いている要素のjs-hoverというclassを外す

この方法であれば子要素や兄弟要素でなく、離れた要素に対しても値を変えることが可能になります。

以上になります。

あわせて読みたい
【CSS】hoverで別要素の値を変更する方法【子要素・兄弟要素・親要素】
【CSS】hoverで別要素の値を変更する方法【子要素・兄弟要素・親要素】

続きを見る

Web制作おすすめ教材と案件獲得サービス
当ブログではWeb制作学習におすすめの教材を厳選してご紹介しています。
こちらの記事を参考に教材を購入して成果を出している人もたくさんいるので、自分に必要な教材を探してみて下さい。
また、学習面だけでなく営業面である案件獲得サービスもご紹介しています。
スキルが身についても仕事がなければ意味がないので、営業に不安がある人はこちらの記事をぜひ参考にしてみて下さい。
この記事を参考にスキルと営業力を身につけて稼げるようになりましょう!

-jQuery, Web制作