LoginSignup
2
3

More than 5 years have passed since last update.

【jQuery】.hover( )を使うときの、当たり前かもしれない構文

Last updated at Posted at 2018-08-16

自分でドロップダウンメニューを作ってみたくなったのでやってみた。

そしてできたのがこれ。
いろいろネットで検索してあーでもないこーでもないとやってみた結果こうなりました。
参考 : jQueryでプルダウンメニュー(たった5行で!)

See the Pen ドロップダウンメニュー by かぺ (@kapeking) on CodePen.

一応内容を載せます。

HTML
<nav>
        <ul>
          <li class="navTitle"><a>おっきいタイトルA</a>
            <ul class="subList">
              <li><a>ちっちゃいタイトル01</a></li>
              <li><a>ちっちゃいタイトル02</a></li>
              <li><a>ちっちゃいタイトル03</a></li>
              <li><a>ちっちゃいタイトル04</a></li>
            </ul>
          </li>
          <li class="navTitle"><a>おっきいタイトルB</a>
            <ul class="subList">
              <li><a>ちっちゃいタイトル01</a></li>
              <li><a>ちっちゃいタイトル02</a></li>
              <li><a>ちっちゃいタイトル03</a></li>
              <li><a>ちっちゃいタイトル04</a></li>
            </ul>
          </li>
        </ul>
      </nav>
CSS
ul{
  list-style:none;
}
a{
  color:#fff;
  display:block;
  text-decoration:none;
}
nav>ul{
    display: flex;
  justify-content:space-around;
  background:red;
  width:500px;
  margin:0;
  padding:0;
}
.navTitle>a{
    margin-right: 20px;
    font-size: 18px;
    position: relative;
}
.subList{
    position: absolute;
    background-color: #ff142b;
    padding: 0 10px;
    z-index: 100;
    display: none;
}
.subList li{
    padding: 10px;
    border-bottom:dashed 1px #fff;
}
.subList li:last-child{
    border-bottom: none;
}
jQuery
$(".navTitle").hover(function(){
                $(this).children('ul').slideDown("fast");
            }, function() {
                $(this).children('ul').slideUp("fast");
            });

なんでこれでちゃんと動くのかわからない。

jQueryのhoverがうまく動かなくて、最終的にhoverのとこは参考URLからコピペしてこうなったんですが・・・
slideDownのとこまではわかるけど「},function()・・・」ってどういう意味?

自分的正解

See the Pen ドロップダウンメニュー(if文) by かぺ (@kapeking) on CodePen.

ってif文使うんなら意味わかるんだけど、なんで上のは使わなくても動くの?

jQo.hover( function, function )は構文だった。

さらに調べたらありました。

マウスカーソルが要素内に入ったり出たときの時の処理を設定返値:jQueryオブジェクト
jQo.hover( function, function )
引数に2つのfunctionをとりマウスカーソルが要素内に入ったり出たときの時の処理を設定します。

引用元 : デザイナーにも分かりやすいjQuery入門講座|jQueryの使い方

構文だったんかーい。
意味めっちゃ考えたんに・・・。if文しか知らん自分が悪かった。

ひとつ賢くなったよ。やったね。

更新履歴

コメントより、アニメーションの動きが不十分だったことが発覚。
調べてさらに記事追加しました。
さらにひとつ賢くなりました。コメントありがとうございました。
【jQuery】.hover()を高速移動するとアニメーションが蓄積されてよくわからないことになる問題を解決する

2
3
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
3